Junior — Middle
Εξηγήστε την έννοια της χρονικής πολυπλοκότητας O(n) και σε ποιες καταστάσεις εφαρμόζεται.
sobes.tech AI
Απάντηση από AI
Ο χρονικός πολυπλοκότητα O(n) σημαίνει ότι ο χρόνος εκτέλεσης του αλγορίθμου αυξάνεται γραμμικά με το μέγεθος των εισερχόμενων δεδομένων n.
Αυτό σημαίνει ότι αν διπλασιαστεί ο αριθμός των στοιχείων στο σύνολο δεδομένων, ο χρόνος εκτέλεσης περίπου διπλασιάζεται.
Παράδειγμα κατάστασης με O(n):
-
Αναζήτηση ενός στοιχείου σε έναν μη ταξινομημένο πίνακα με γραμμική αναζήτηση.
-
Υπολογισμός του αθροίσματος όλων των αριθμών σε μια λίστα.
Παράδειγμα σε Swift:
func sumArray(_ array: [Int]) -> Int {
var sum = 0
for num in array {
sum += num
}
return sum
}
Εδώ, η συνάρτηση διατρέχει όλα τα στοιχεία του πίνακα μία φορά, επομένως η χρονική της πολυπλοκότητα είναι O(n).