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
}