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