Ответ
Бинарный поиск — это алгоритм поиска элемента в отсортированном массиве, который работает за время O(log n).
Принцип работы:
- Сравниваем искомый элемент с элементом в середине массива.
- Если элемент равен середине — поиск завершен.
- Если элемент меньше — ищем в левой половине.
- Если элемент больше — ищем в правой половине.
- Повторяем, пока не найдем элемент или не убедимся в его отсутствии.
Пример на JavaScript:
function binarySearch(arr, target) {
let left = 0;
let right = arr.length - 1;
while (left <= right) {
const mid = Math.floor((left + right) / 2);
if (arr[mid] === target) return mid;
if (arr[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1; // элемент не найден
}
Важно: массив должен быть отсортирован, иначе алгоритм не сработает.
Ответ 18+ 🔞
Да ты послушай, какой прикол придумали, чтобы не перебирать всё в лоб, как последний распиздяй! Бинарный поиск, ёпта. Штука для отсортированного массива, которая работает за O(log n), то есть овердохуища быстрее, чем обычный перебор.
Как это, блядь, работает:
- Берёшь и смотришь на самый середнячок массива.
- Если там сидит твой искомый элемент — ну, ебать, повезло, нашёл!
- Если твой элемент меньше этой середки — значит, он спрятался где-то слева, в левой половинке. Ищешь там.
- Если больше — ну ясный пень, он удрал в правую половину. Лезешь туда.
- И так по кругу, пока не накопаешь свою цель или не поймёшь, что её тут нихуя нет.
Вот, смотри, как на JavaScript это выглядит:
function binarySearch(arr, target) {
let left = 0;
let right = arr.length - 1;
while (left <= right) {
const mid = Math.floor((left + right) / 2);
if (arr[mid] === target) return mid;
if (arr[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1; // элемент не найден
}
И главное, запомни, как отче наш: массив должен быть отсортирован, иначе этот весь цирк с конями — нихуя не сработает. Алгоритм просто с ума сойдёт и будет искать хуй в пальто.