Рубрики
Без рубрики

DSA – двоичный алгоритм поиска

Привет, ребята, сегодня я собираюсь показать вам двоичный алгоритм поиска в JavaScript и … с меткой Python, JavaScript, алгоритмы, программированием.

Здравствуйте, ребята, сегодня я собираюсь показать вам двоичный алгоритм поиска в JavaScript и Python.

Давайте начнем…

Двоичный поиск – бинарный поиск – это метод поиска, которая работает на подходе на разрыв и завоевание. Он использовался для поиска любого элемента в отсортированном массиве. По сравнению с линейным двоичным поиском гораздо быстрее со временем сложности O (logn), тогда как алгоритм линейного поиска работает в сложности O (n).

Вход: ARM [] = {1, 3, 5, 7, 8, 9} Выход: Элемент найден!

Вход: ARM [] = {1, 3, 5, 7, 8, 9} Выход: Элемент не найден!

Реализация JavaScript –

function BinarySearch(arr, x) {

    let start=0, end=arr.length-1;

    // Iterate while start not meets end
    while (start<=end){

        // Find the mid index
        let mid=Math.floor((start + end)/2);

        // If element is present at mid, return True
        if (arr[mid]===x){
        console.log(arr[mid]);
        return true;
        }

        // Else look in left or right half accordingly
        else if (arr[mid] < x)
             start = mid + 1;
        else
             end = mid - 1;
    }

    return false;
}

const arr = [1,0,90,899,6,4,67,343,901];
const result = BinarySearch(arr,10) ? 'Element found' : 'Element not found';
console.log(result);

Выход – 343 элемент найден

Реализация Python –

import math

def binarysearch(Arr,element):
  start = 0
  end = len(Arr) - 1

  while start <= end:
    mid = start + (end - start) // 2;
    if Arr[mid] == element:
      print(Arr[element])
      return True
    elif Arr[mid] < element:
      start = mid + 1
    else:
      end = mid - 1

  return -1

items = [1,2,3,4,5,6,7,8,9,10]
result ='Element found' if binarysearch(items,5) else 'Element not found' 

print(result)

Выход – 6 найденных элементов

ПРИМЕЧАНИЕ – Этот блог находится только для академических целей, а для студентов, которые хотят изучать двоичную поисковую реализацию для своих ученых.

Спасибо за чтение этого поста, и если вы хотите дать какое-либо предложение или найти любую ошибку, пожалуйста, укажите его в разделе комментариев

Источник – https://www.geeksforgeks.org/

Оригинал: “https://dev.to/shubhamtiwari909/dsa-binary-search-algorithm-1461”