Sobes.tech
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
}