Junior — Middle
Jak określa się wydajność wyszukiwania elementu po kluczu w strukturze danych słownik?
sobes.tech AI
Odpowiedź od AI
W strukturze danych słownik (Dictionary) wyszukiwanie elementu po kluczu jest zwykle realizowane za pomocą tablicy haszującej, co zapewnia średnią złożoność czasową operacji wyszukiwania O(1). Oznacza to, że niezależnie od rozmiaru słownika, dostęp do elementu po kluczu jest praktycznie natychmiastowy.
Jednak skuteczność zależy od jakości funkcji haszującej i liczby kolizji. Jeśli kolizji jest dużo, czas wyszukiwania może się pogorszyć do O(n) w najgorszym przypadku.
Przykład w Swift:
let dict = ["apple": 1, "banana": 2, "orange": 3]
if let value = dict["banana"] {
print("Wartość: \(value)") // Wyświetli: Wartość: 2
}
Tutaj wyszukiwanie po kluczu "banana" jest bardzo szybkie dzięki wewnętrznej implementacji słownika.