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;
}
相關文章
- 常見的查詢操作
- 常見通用的Join查詢
- JavaScript常見演算法集合JavaScript演算法
- Javascript常見演算法整理JavaScript演算法
- Android 面試常見 - 二分查詢演算法題Android面試演算法
- Hive -------- hive常見查詢練習Hive
- SQL查詢優化常見方法SQL優化
- hfm系統常見表查詢
- 常見的JavaScript面試演算法JavaScript面試演算法
- 常見演算法 PHP 實現 -- 堆排序演算法PHP排序
- 常見排序演算法-Python實現排序演算法Python
- Haskell常見排序演算法的實現Haskell排序演算法
- 面試常問的幾個排序和查詢演算法,PHP 實現面試排序演算法PHP
- 查詢演算法集:順序查詢、二分查詢、插值查詢、動態查詢(陣列實現、連結串列實現)演算法陣列
- 實驗七: 查詢演算法的實現演算法
- Python實現常見機器學習演算法(上)Python機器學習演算法
- JavaScript實現陣列去重的常見方式JavaScript陣列
- 棧的模擬實現及常見演算法演算法
- yii2 資料庫常見查詢資料庫
- 二分查詢常見套路與分析
- 一些常見功能的查詢sqlSQL
- Javascript常見排序演算法的筆記JavaScript排序演算法筆記
- 常見物件-在大串中查詢小串出現的次數案例物件
- Java實現二分查詢演算法Java演算法
- BMH子串查詢演算法(PHP實現)演算法PHP
- JavaScript實現簡單二叉查詢樹JavaScript
- 常見排序演算法原理及JS程式碼實現排序演算法JS
- python實現常見的五種排序演算法Python排序演算法
- mysql常見的查詢語句的應用MySql
- Java 列舉查詢並不拋異常的實現Java
- Access查詢實現Mysql的 limit 查詢MySqlMIT
- 常見快取演算法和LRU的c++實現快取演算法C++
- 淺談常見的七種加密演算法及實現加密演算法
- 【演算法資料結構Java實現】折半查詢演算法資料結構Java
- 從根上理解elasticsearch(lucene)查詢原理(2)-lucene常見查詢型別原理分析Elasticsearch型別
- nginx實現常見場景Nginx
- 老聲常談,分頁查詢的實現就是不分頁
- JavaScript 的常見“陷阱”JavaScript