Sobes.tech
Junior — Middle

Kuris elementų paieškos būdas laikomas efektyvesniu: masyvo perėjimas ar prieigos per raktą žodyne?

sobes.tech AI

Atsakymas iš AI

Raktas paieška žodyne laikoma efektyvesniu būdu rasti elementą, palyginti su masyvo perėjimu.

Priežastys:

  • Žodynas yra įgyvendintas naudojant maišos lentelę, užtikrinančią vidutinį prieigos laiką O(1).
  • Masyvo perėjimas (liemuo paieška) reikalauja patikrinti kiekvieną elementą, paieškos laikas yra O(n).

Pavyzdys Swift:

let array = [1, 2, 3, 4, 5]
let dictionary = [1: "vienas", 2: "du", 3: "trys"]

// Masyvo paieška
if array.contains(3) {
    print("Rasta")
}

// Rasti pagal raktą žodyne
if let value = dictionary[3] {
    print("Rasta: \(value)")
}

Jei dažnai reikia ieškoti elementų pagal raktą, geriau naudoti žodyną.