Junior — Middle
Можете ли да дате примере алгоритама за претрагу елемената у структурама података?
sobes.tech АИ
Одговор од АИ
Za pronalaženje elemenata u strukturama podataka često se koriste sledeći algoritmi:
- Linearno pretraživanje (Linear Search) — pretraživanje elemenata jedan po jedan, pogodno za nestrukturirane nizove.
- Binarno pretraživanje (Binary Search) — efikasno za sortirane nizove, deli oblast pretraživanja na pola na svakom koraku.
- Pretraživanje u stablima (npr. pretraživanje u binarnom stablu pretraživanja) — rekurzivno ili iterativno obilazak za pronalaženje elementa.
- Pretraživanje u hash tabelama — brz pristup putem ključa pomoću hash funkcije.
Primer binarnog pretraživanja u 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
}