Sobes.tech
Junior — Middle

Milline elementide otsimise meetod peetakse tõhusamaks: massiivi läbimine või juurdepääs võtme kaudu sõnastikus?

sobes.tech AI

Vastus AI-lt

Võtme otsimine sõnastikus peetakse tõhusamaks viisiks leida element võrreldes massiivi läbimisega.

Põhjused:

  • Sõnastik on rakendatud hash-tabeli alusel, mis tagab keskmise juurdepääsuaega O(1).
  • Massiivi läbimine (lihtne otsing) nõuab iga elemendi kontrollimist, otsingu aeg on O(n).

Näide Swiftis:

let array = [1, 2, 3, 4, 5]
let dictionary = [1: "üks", 2: "kaks", 3: "kolm"]

// Massiivi otsing
if array.contains(3) {
    print("Leitud")
}

// Võtme järgi otsing sõnastikus
if let value = dictionary[3] {
    print("Leitud: \(value)")
}

Kui peate sageli otsima elemente võtme järgi, on parem kasutada sõnastikku.