Junior — Middle
Która metoda wyszukiwania elementu jest uważana za bardziej efektywną: przeszukiwanie tablicy czy dostęp po kluczu w słowniku?
sobes.tech AI
Odpowiedź od AI
Dostęp do elementu po kluczu w słowniku jest uważany za bardziej efektywny sposób wyszukiwania elementu w porównaniu do przeszukiwania tablicy.
Powody:
- Słownik jest zaimplementowany na podstawie tablicy mieszającej, co zapewnia średni czas dostępu O(1).
- Przeszukiwanie tablicy (wyszukiwanie liniowe) wymaga sprawdzenia każdego elementu, czas wyszukiwania O(n).
Przykład w Swift:
let array = [1, 2, 3, 4, 5]
let dictionary = [1: "jeden", 2: "dwa", 3: "trzy"]
// Wyszukiwanie w tablicy
if array.contains(3) {
print("Znaleziono")
}
// Wyszukiwanie po kluczu w słowniku
if let value = dictionary[3] {
print("Znaleziono: \(value)")
}
Dlatego, jeśli często musisz wyszukiwać elementy po kluczu, lepiej używać słownika.