Junior — Middle
Puoi fornire esempi di algoritmi per cercare elementi nelle strutture dati?
sobes.tech AI
Risposta dell'AI
Per cercare elementi nelle strutture dati, vengono spesso utilizzati i seguenti algoritmi:
- Ricerca lineare (Linear Search) — esamina gli elementi uno ad uno, adatto per array non ordinati.
- Ricerca binaria (Binary Search) — efficace per array ordinati, divide l'area di ricerca a metà ad ogni passo.
- Ricerca negli alberi (ad esempio, ricerca in un albero binario di ricerca) — attraversamento ricorsivo o iterativo per trovare un elemento.
- Ricerca nelle tabelle hash — accesso rapido tramite chiave usando una funzione hash.
Esempio di ricerca binaria in 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
}