Junior — Middle
Կարող եք տալ տվյալների կառուցվածքներում տարրեր որոնելու ալգորիթմների օրինակներ?
sobes.tech AI
Պատասխան AI-ից
Տվյալների կառուցվածքներում տարրեր որոնելու համար հաճախ օգտագործվում են հետևյալ ալգորիթմները՝
- Գծային որոնում (Linear Search) — տարրերը մեկ մեկով անցնել, հարմար է ոչ դասավորված զանգվածների համար:
- Բինար որոնում (Binary Search) — արդյունավետ է դասավորված զանգվածների համար, յուրաքանչյուր քայլում որոնման տարածքը բաժանում է կեսին:
- Որոնում ծառերում (օրինակ, բինար ծառի որոնում) — ռեկուրսիվ կամ ինտերատիվ անցում՝ տարր գտնելու համար:
- Հեշ աղյուսակներում որոնում — արագ մուտք՝ բանալիով՝ հեշ-ֆունկցիայի միջոցով:
Ստորև բերված է բինար որոնման օրինակ Swift-ում:
func binarySearch(_ array: [Int], target: Int) -> Int? {
var left = 0
var right = array.count - 1
while left <= right {
let mid = (left + right) / 2
if array[mid] == target {
return mid
} else if array[mid] < target {
left = mid + 1
} else {
right = mid - 1
}
}
return nil
}