国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 幫助中心 > 正文

JS二分查找算法詳解

2024-07-09 22:41:11
字體:
來源:轉載
供稿:網友

二分法查找,也稱折半查找,是一種在有序數組中查找特定元素的搜索算法。查找過程可以分為以下步驟:

(1)首先,從有序數組的中間的元素開始搜索,如果該元素正好是目標元素(即要查找的元素),則搜索過程結束,否則進行下一步。
(2)如果目標元素大于或者小于中間元素,則在數組大于或小于中間元素的那一半區域查找,然后重復第一步的操作。
(3)如果某一步數組為空,則表示找不到目標元素。

參考代碼:

 // 非遞歸算法  function binary_search(arr, key) {   var low = 0,    high = arr.length - 1;   while(low <= high){    var mid = parseInt((high + low) / 2);    if(key == arr[mid]){     return mid;    }else if(key > arr[mid]){     low = mid + 1;    }else if(key < arr[mid]){     high = mid -1;    }else{     return -1;    }   }  };  var arr = [1,2,3,4,5,6,7,8,9,10,11,23,44,86];  var result = binary_search(arr,10);  alert(result); // 9 返回目標元素的索引值   // 遞歸算法  function binary_search(arr,low, high, key) {   if (low > high){    return -1;   }   var mid = parseInt((high + low) / 2);   if(arr[mid] == key){    return mid;   }else if (arr[mid] > key){    high = mid - 1;    return binary_search(arr, low, high, key);   }else if (arr[mid] < key){    low = mid + 1;    return binary_search(arr, low, high, key);   }  };  var arr = [1,2,3,4,5,6,7,8,9,10,11,23,44,86];  var result = binary_search(arr, 0, 13, 10);  alert(result); // 9 返回目標元素的索引值 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網之家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安新县| 重庆市| 巴彦淖尔市| 凤山市| 山西省| 攀枝花市| 冕宁县| 黄陵县| 丽江市| 枝江市| 饶河县| 札达县| 礼泉县| 二手房| 泗洪县| 冕宁县| 怀柔区| 泰和县| 宜黄县| 修武县| 德兴市| 闵行区| 壶关县| 成安县| 邳州市| 双牌县| 阿坝| 即墨市| 丰都县| 灵武市| 昌邑市| 马山县| 东辽县| 临沂市| 高要市| 新巴尔虎右旗| 华亭县| 南雄市| 义马市| 博客| 慈溪市|