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
}