JavaScript實現常見查詢演算法
JavaScript實現常見查詢演算法
二分查詢
條件:有序陣列
思路:
- 每次都和陣列中間位置數進行比較
- 等於則返回
- 若比其小,則 high = mid -1
- 比其大,則 low = mid + 1
- 迴圈條件為 low <= high
程式碼實現
//二分查詢,找到返回元素索引,否則返回-1
function binary_search(arr, item) {
let low = 0;
let high = arr.length - 1;
while( low <= high){
let mid = parseInt((low + high)/2);
if( item === arr[mid]){
return mid;
}else if( item < arr[mid]){
high = mid - 1;
}else if( item > arr[mid]){
low = mid + 1;
}
}
return -1;
}
相關文章
- 常見的查詢操作
- JavaScript常見演算法集合JavaScript演算法
- Javascript常見演算法整理JavaScript演算法
- 常見通用的Join查詢
- C++,Java,Python,Javascript實現二分查詢演算法C++PythonJavaScript演算法
- Android 面試常見 - 二分查詢演算法題Android面試演算法
- hfm系統常見表查詢
- Hive -------- hive常見查詢練習Hive
- 常見演算法 PHP 實現 -- 堆排序演算法PHP排序
- 實驗七: 查詢演算法的實現演算法
- 面試常問的幾個排序和查詢演算法,PHP 實現面試排序演算法PHP
- 常見的JavaScript面試演算法JavaScript面試演算法
- JavaScript實現陣列去重的常見方式JavaScript陣列
- JavaScript實現簡單二叉查詢樹JavaScript
- Javascript常見排序演算法的筆記JavaScript排序演算法筆記
- 一些常見功能的查詢sqlSQL
- yii2 資料庫常見查詢資料庫
- 二分查詢常見套路與分析
- Java實現二分查詢演算法Java演算法
- 棧的模擬實現及常見演算法演算法
- python實現常見的五種排序演算法Python排序演算法
- mysql常見的查詢語句的應用MySql
- 常見排序演算法原理及JS程式碼實現排序演算法JS
- Mybatis實現條件IN查詢(foreach)和invalid comparison異常MyBatis
- 查詢演算法__Fibonacci查詢演算法
- 從根上理解elasticsearch(lucene)查詢原理(2)-lucene常見查詢型別原理分析Elasticsearch型別
- python3實現幾種常見的排序演算法Python排序演算法
- 常見快取演算法和LRU的c++實現快取演算法C++
- 淺談常見的七種加密演算法及實現加密演算法
- SSH:hiberate實現資料的查詢(單查詢和全查詢)
- nginx實現常見場景Nginx
- 查詢演算法__插值查詢演算法
- 深度解析javaScript常見資料型別檢查校驗JavaScript資料型別
- 用 Java 實現常見的 8 種內部排序演算法Java排序演算法
- 通過leetcode學習常見排序演算法及其Go實現LeetCode排序演算法Go
- 常見加密演算法及常見加密演算法簡述加密演算法
- JavaScript之DOM查詢JavaScript
- 查詢演算法__二分查詢演算法