Junior — Middle
98
Explica mecanismul de funcționare al algoritmului de căutare binară și modul în care acesta se realizează în practică
Companiile au fost întrebate
Передовые Платежные Решения
Răspuns de la AI
sobes.tech AI
Двоичный поиск — это алгоритм поиска элемента в отсортированном массиве, который работает за логарифмическое время O(log n).
Принцип работы:
- Определяем середину массива.
- Сравниваем искомое значение с элементом в середине.
- Если значения совпадают — возвращаем индекс.
- Если искомое значение меньше, ищем в левой половине массива.
- Если больше — в правой половине.
- Повторяем процесс рекурсивно или итеративно, пока не найдём элемент или не останется элементов для поиска.
Пример на Java:
public int binarySearch(int[] arr, int target) {
int left = 0;
int right = arr.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1; // элемент не найден
}
Важно, чтобы массив был отсортирован, иначе алгоритм не гарантирует корректный результат.