Junior — Middle
Koji način pretraživanja elementa se smatra efikasnijim: prolazak kroz niz ili pristup putem ključa u rečniku?
sobes.tech АИ
Одговор од АИ
Pretraživanje po ključevi u rečniku smatra se efikasnijim načinom pronalaženja elementa u poređenju sa prolaskom kroz niz.
Razlozi:
- Rečnik je implementiran na osnovu hash tabele, što obezbeđuje prosečno vreme pristupa O(1).
- Prolazak kroz niz (linearno pretraživanje) zahteva proveru svakog elementa, sa vremenom pretraživanja O(n).
Primer u Swift:
let array = [1, 2, 3, 4, 5]
let dictionary = [1: "jedan", 2: "dva", 3: "tri"]
// Pretraživanje u nizu
if array.contains(3) {
print("Pronađeno")
}
// Pretraživanje po ključevi u rečniku
if let value = dictionary[3] {
print("Pronađeno: \(value)")
}
Ako često morate da tražite elemente po ključevi, bolje je koristiti rečnik.