Junior — Middle
Můžete uvést příklady algoritmů pro hledání prvků ve datových strukturách?
sobes.tech AI
Odpověď od AI
Pro hledání prvků v datových strukturách se často používají následující algoritmy:
- Lineární vyhledávání (Linear Search) — prohledávání prvků jeden po druhém, vhodné pro nesetříděné pole.
- Binární vyhledávání (Binary Search) — efektivní pro setříděná pole, dělí oblast hledání na polovinu při každém kroku.
- Vyhledávání v stromech (například v binárním vyhledávacím stromu) — rekurzivní nebo iterativní průchod pro nalezení prvku.
- Vyhledávání v hash tabulkách — rychlý přístup přes klíč pomocí hash funkce.
Příklad binárního vyhledávání v 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
}