Sobes.tech
Junior — Middle

Ποια μέθοδος αναζήτησης στοιχείου θεωρείται πιο αποδοτική: η διαδρομή μέσω πίνακα ή η πρόσβαση μέσω κλειδιού σε ένα λεξικό;

sobes.tech AI

Απάντηση από AI

Η αναζήτηση με κλειδί σε ένα λεξικό θεωρείται πιο αποδοτικός τρόπος εύρεσης στοιχείου σε σύγκριση με την αναζήτηση μέσω ενός πίνακα.

Αιτίες:

  • Το λεξικό υλοποιείται με βάση έναν πίνακα κατακερματισμού, που διασφαλίζει μέσο χρόνο πρόσβασης O(1).
  • Η αναζήτηση σε πίνακα (γραμμική αναζήτηση) απαιτεί τον έλεγχο κάθε στοιχείου, με χρόνο αναζήτησης O(n).

Παράδειγμα σε Swift:

let array = [1, 2, 3, 4, 5]
let dictionary = [1: "ένα", 2: "δύο", 3: "τρία"]

// Αναζήτηση στον πίνακα
if array.contains(3) {
    print("Βρέθηκε")
}

// Αναζήτηση με κλειδί στο λεξικό
if let value = dictionary[3] {
    print("Βρέθηκε: \(value)")
}

Επομένως, αν χρειάζεται συχνά να αναζητάτε στοιχεία με κλειδί, είναι καλύτερο να χρησιμοποιείτε ένα λεξικό.