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)")
}
Επομένως, αν χρειάζεται συχνά να αναζητάτε στοιχεία με κλειδί, είναι καλύτερο να χρησιμοποιείτε ένα λεξικό.