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ı
}