Встречается на собеседованиях • сегодня

Какие знаешь алгоритмы поиска по массиву

Линейный поиск — простейший алгоритм, проверяет каждый элемент массива последовательно до нахождения нужного. Сложность O(n).

javascript
function linearSearch(arr, target) {
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] === target) return i;
  }
  return -1;
}

Бинарный поиск — работает только на отсортированных массивах. Делит массив пополам, сравнивает с искомым элементом и отбрасывает ненужную половину. Сложность 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;
}

Также существуют более сложные алгоритмы (интерполяционный, экспоненциальный), но на практике чаще используют встроенные методы типа indexOf() или find().

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы