Sobes.tech
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).