Логотип 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; // элемент не найден
}

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

Бинарный поиск используется в различных областях: поиск в отсортированных базах данных, реализация функций поиска в стандартных библиотеках (например, Array.prototype.indexOf в JavaScript может использовать бинарный поиск для отсортированных массивов), а также в алгоритмах, требующих быстрого поиска, таких как поиск корня уравнения или определение точки вставки.

Вывод

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

  • Аватар

    Python Guru

    Sergey Filichkin

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

Уровень

  • Рейтинг:

    5

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

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

#binary search

#algorithm

#time complexity

#divide and conquer

#sorted array

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

  • Аватар

    Python Guru

    Sergey Filichkin

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