Sobes.tech
Junior

Kokia yra elemento paieškos sudėtingumas Swift masyve?

sobes.tech AI

Atsakymas iš AI

Blogiausiu atveju (elementas nerastas arba yra pabaigoje) yra linijinis, O(n), kur n yra elementų skaičius masyve.

Naudojant dvejetainį paiešką surūšiuotame masyve — logaritminis, O(log n).

// Linijinis paieška
let array = [1, 5, 2, 8, 3]
if array.contains(8) {
    // Elementas rastas. Blogiausiu atveju patikrinta visi elementai.
}

// Dvejetainė paieška surūšiuotame masyve
let sortedArray = [1, 2, 3, 5, 8]
// Įgyvendinimas reikalauja papildomų žingsnių arba algoritmo
// Pavyzdžiui, naudojant Swift 5.3+ binarySearch() metodą surūšiuotoms kolekcijoms
// sortedArray.binarySearch(8)