Sobes.tech
Junior — Middle

Czy możesz podać przykłady algorytmów wyszukiwania elementów w strukturach danych?

sobes.tech AI

Odpowiedź od AI

Aby znaleźć elementy w strukturach danych, często używa się następujących algorytmów:

  • Przeszukiwanie liniowe (Linear Search) — przeszukiwanie elementów jeden po drugim, odpowiednie dla nieposortowanych tablic.
  • Przeszukiwanie binarne (Binary Search) — skuteczne dla posortowanych tablic, dzieli obszar wyszukiwania na pół na każdym kroku.
  • Przeszukiwanie w drzewach (np. przeszukiwanie w drzewie binarnym) — rekurencyjne lub iteracyjne przejście w celu znalezienia elementu.
  • Przeszukiwanie w tablicach haszujących — szybki dostęp po kluczu za pomocą funkcji hash.

Przykład wyszukiwania binarnego w 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
}