Sobes.tech
Junior

Swiftте массивде элементти издөөүнүн татаалдыгы кандай?

sobes.tech AI

AIден жооп

Swiftте tipik bir tartibsiz massivde (məsələn, Array<Element>) elementin tapılması 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, binar axtarış istifadə oluna bilər və bu, O(log n) mürəkkəbliyə malikdir. Swift sıralanmış kolleksiyalar üçün binarySearch metodunu təmin 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ə binar 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ı
}