TGViewer
CodeRoll | Frontend CodeRoll | Frontend @coderoll · 4.07K subscribers
Post #3184 727
👩‍💻👩‍💻 Как выглядит алгоритм экспотенциального поиска на JavaScript?

Экспоненциальный поиск позволяет выполнять поиск по отсортированному неограниченному списку для указанного входного значения (поисковый «ключ»)

Алгоритм состоит из двух этапов. Первый этап определяет диапазон, в котором ключ поиска находился бы, если бы он был в списке. На втором этапе выполняется бинарный поиск по этому диапазону

❗️ В нашем примере binarySearchIterative - это функция бинарного поиска, про который мы уже писали раньше


export const exponentialSearch = (
array: number[],
x: number
): number | null => {
const arrayLength = array.length
if (arrayLength === 0) return null

if (array[0] === x) return 0

let i = 1
while (i < arrayLength && array[i] <= x) {
i = i * 2
}

const start = Math.floor(i / 2)
const end = Math.min(i, arrayLength - 1)
const result = binarySearchIterative(array, x, start, end)

return result
}


Coderoll | Frontend
More from @coderoll
  1. Oct 9, 2026❓Что такое Lazy Loading? Lazy Loading — это техника отложенной загрузки ресурсов (например…
  2. Oct 8, 2026TsParticles Мощная библиотека для создания интерактивных анимаций частиц, которая легко на…
  3. Oct 7, 2026⚡️Группа хакеров взломала сервера Skillbox, Geekbrains, Skillfactory и ещё 12 онлайн-школ,…
  4. Oct 7, 2026👩‍💻 Используем принципы “Чистого кода” в контексте JavaScript Функции Функции должны дел…
  5. Oct 6, 2026Вопрос с собеседования: ❓Что такое инкапсуляция? Инкапсуляция - это механизм, который объе…
  6. Oct 5, 2026Оптимизация рендеринга React-компонентов: как не навредить Всё идёт хорошо, пока компонент…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →