Sobes.tech
Junior

Ի՞նչ է Swift-ի զանգվածում տարր որոնելու բարդությունը։

sobes.tech AI

Պատասխան AI-ից

Լավագույն դեպք (մասիվում չկա կամ վերջում է) գծային, O(n), որտեղ n — տարրերի քանակը։

Բինար որոնումը սորտավորված զանգվածում — լոգարիթմական, O(log n)։

// Գծային որոնում
let array = [1, 5, 2, 8, 3]
if array.contains(8) {
    // Էլեմենտը գտնվեց։ Վատ դեպքերում, ստուգվել են բոլոր տարրերը։
}

// Բինար որոնում սորտավորված զանգվածում
let sortedArray = [1, 2, 3, 5, 8]
// Իրականացումը պահանջում է լրացուցիչ քայլեր կամ ալգորիթմ
// Օրինակ, Swift 5.3+-ում սորտավորված հավաքածուների համար binarySearch() մեթոդով
// sortedArray.binarySearch(8)