Публикации по теме 'binary-search'


Бинарный поиск в JavaScript
Реализация бинарного поиска на JavaScript. Если вы ищете поиск в упорядоченном массиве, бинарный поиск превосходит любой другой алгоритм с временной сложностью O (log N). С массивом, содержащим 1000 значений, бинарный поиск займет не более 10 шагов, а линейный поиск — не более 1000 шагов. Двоичный поиск, как следует из названия, работает путем деления массива пополам на каждой итерации. Например, в отсортированном массиве [1, 2, 3, 4, 5, 6, 7, 8, 9], если вы скажете ему найти 8, он..

Бинарные деревья
Двоичные деревья — это структура данных, которая позволяет нам эффективно хранить и обновлять данные, сохраненные в наборе данных. Эти типы деревьев имеют не более двух дочерних элементов и следуют правилу, которое определяет, на какой стороне набора данных будет сохранена информация. Временная сложность вставки или поиска фрагмента данных в дереве составляет O (log n). Прежде чем мы перейдем к тому, как это сделать, давайте определим несколько ключевых терминов. Бинарное дерево и..

LeetCode 704. JavaScript-решение для бинарного поиска
Двоичный поиск — LeetCode Дано массив целых чисел, отсортированный в порядке возрастания, и целочисленная цель, напишите функцию для поиска… leetcode.com var search = function(nums, target) { let left = 0 let right = nums.length - 1 while ( right >= left) { let mid = Math.floor((left + right)/2) if (target > nums[mid]) { left = mid + 1 } else if (target < nums[mid]) {..

Hola to Binary Search - глубокое погружение
Двоичный поиск - это типичный метод поиска, используемый в компьютерных науках на протяжении длительного времени. Это вычисление преследования, при котором сначала необходимо отсортировать все компоненты. В 1960 году Деррик Генри Леман распространил расчет параллельной охоты, который работал на всех экспонатах ПК. Двоичный поиск следует стратегии Разделяй и властвуй , чтобы преодолеть недостаток алгоритма линейного поиска, который включает итерацию по всем элементам до тех пор, пока..

Двоичный поиск с использованием процедур GO
Мы все знаем, что бинарный поиск — один из самых быстрых способов поиска цели в отсортированном списке. И есть два способа реализовать это либо с помощью итеративного подхода, либо с помощью рекурсивного подхода. В этой истории мы рассмотрим рекурсивный подход, и одна из проблем использования рекурсивной функции заключается в том, что она требует больше времени ( O (2 ^ N) ), поскольку каждый вызов функции вызывает себя дважды, если только он не был рекурсирован n раз. Тогда почему мы не..

LeetCode 34. Найдите первую и последнюю позицию элемента в отсортированном массиве JavaScript-решение
Найти первую и последнюю позицию элемента в отсортированном массиве — LeetCode По заданному массиву целых чисел, отсортированных в неубывающем порядке, найти начальную и конечную позиции заданной цели … leetcode.com var searchRange = function (nums, target) { let left = 0; let right = nums.length - 1; let output = [-1, -1]; // Binary search for the target (left-biased) while (left < right) { let middle =..

Facebook вопросы интервью | Литкод — 34 Средний
Leetcode Вопрос 34 — Это самое подробное объяснение, которое вы когда-либо видели. Мы решим и поймем вопрос типа [средний] массив из Leetcode, вопрос номер 34, который уже встречается в интервью на Facebook. Вопросы, которые у нас есть Given an array of integers nums sorted in non-decreasing order, find the starting and ending position of a given target value. If the target is not found in the array, return [-1, -1]. You must write an algorithm with O(log n) runtime complexity...