Sobes.tech
Junior

Swift-də massivdə element axtarışının mürəkkəbliyi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Swift-də tipik qeyri-sıralanmış massivdə (məsələn, Array<Element>) elementin axtarış mürəkkəbliyi O(n)-dir, burada n massivdəki elementlərin sayıdır. Bu, ən pis halda bütün elementlərin yoxlanmasını tələb edə bilər.

Ancaq, əgər massiv sıralanıbsa, ikili axtarış istifadə oluna bilər və bu, O(log n) mürəkkəbliyə malikdir. Swift sıralanmış kolleksiyalar üçün binarySearch metodunu təqdim edir.

Xətti axtarış nümunəsi:

let array = [1, 5, 2, 8, 3]
let elementToFind = 8

for element in array {
    if element == elementToFind {
        // Element tapıldı
        break
    }
}

Sıralanmış massivdə ikili axtarış nümunəsi:

let sortedArray = [1, 2, 3, 5, 8]
let elementToFind = 5

if let index = sortedArray.firstIndex(where: { $0 == elementToFind }) {
    // Element indeksdə tapıldı
}