Junior — Middle
Puteți oferi exemple de algoritmi pentru căutarea elementelor în structurile de date?
sobes.tech AI
Răspuns de la AI
Pentru a căuta elemente în structurile de date, se folosesc adesea următorii algoritmi:
- Căutarea liniară (Linear Search) — parcurgerea elementelor unul câte unul, potrivit pentru array-uri nesortate.
- Căutarea binară (Binary Search) — eficientă pentru array-uri sortate, împarte zona de căutare în două la fiecare pas.
- Căutarea în arbori (de exemplu, căutarea într-un arbore binar de căutare) — parcurgere recursivă sau iterativă pentru găsirea unui element.
- Căutarea în tabele hash — acces rapid după cheie folosind o funcție hash.
Exemplu de căutare binară în 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
}