Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: binary search, algorithm, time complexity, divide and conquer, sorted array

Как работает бинарный поиск?

Вопрос проверяет понимание алгоритма бинарного поиска, его принципа работы и временной сложности, что необходимо для эффективной работы с отсортированными данными.

Короткий ответ

Бинарный поиск — это алгоритм поиска элемента в отсортированном массиве. Он работает путём деления массива пополам и сравнения искомого значения со средним элементом. Если значение меньше среднего, поиск продолжается в левой половине, иначе — в правой. Процесс повторяется, пока элемент не будет найден или диапазон не станет пустым. Временная сложность — 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; // элемент найден
    } else if (arr[mid] < target) {
      left = mid + 1; // ищем в правой половине
    } else {
      right = mid - 1; // ищем в левой половине
    }
  }

  return -1; // элемент не найден
}

Где применяется

Бинарный поиск используется в различных областях: от поиска в базах данных до реализации алгоритмов вроде поиска корня уравнения. Он также лежит в основе многих структур данных, таких как бинарные деревья поиска.

Вывод

Бинарный поиск — это мощный инструмент для работы с отсортированными данными. Его стоит применять, когда массив отсортирован и требуется быстрый поиск, так как он обеспечивает логарифмическую временную сложность, что значительно быстрее линейного поиска на больших объёмах данных.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#binary search

#algorithm

#time complexity

#divide and conquer

#sorted array

Подпишись на Golang Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.