码迷,mamicode.com
首页 > 编程语言 > 详细

二分查找【JavaScript】

时间:2018-05-16 22:18:40      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:function   java   有序   col   cti   使用   查找   func   rip   

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <title>2.html</title>
 5 <script>
 6     function binarySearch(arr, findVal, leftIndex, rightIndex) {
 7         //使用二分查找的条件是 arr是有序数组
 8         //终止条件1. 找不到
 9         if (leftIndex > rightIndex) {
10             document.writeln("找不到");
11             return;
12         }
13         var midIndex = Math.floor((leftIndex + rightIndex) / 2);
14         var midVal = arr[midIndex];
15         if (midVal > findVal) {
16             binarySearch(arr, findVal, leftIndex, midIndex - 1);
17         } else if (midVal < findVal) {
18             binarySearch(arr, findVal, midIndex + 1, rightIndex);
19         } else {
20             document.writeln("找到了,下标是" + midIndex); //终止条件2. 找到了
21             return;
22         }
23     }
24     var arr = [ 1, 2, 3, 4, 5, 6 ];
25     //arr    是有序数组
26     binarySearch(arr, 5, 0, arr.length - 1);
27 </script>
28 </head>
29 <body>
30 </body>
31 </html>

1. 有序数组

2. 两个终止条件(找不到leftIndex>rightIndex)

3. 中值下标像下取整

二分查找【JavaScript】

标签:function   java   有序   col   cti   使用   查找   func   rip   

原文地址:https://www.cnblogs.com/chenhongarticles/p/9048102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!