基于JavaScript的二分搜索法算法示例
本文描述了基于JavaScript的二分搜索法算法。分享给大家参考,如下:
二分搜索法,也称为二分搜索法,是一种搜索有序表的方法,其思想如下:
将数组的第一个位置设置为下边界;
将数组的最后一个位置设置为上边界;
如果下边界等于或小于上边界,请执行以下操作:
将中点设置为上边界和下边界除以二的总和;如果中点元素小于查询值,则将下边界设置为中点元素的下标加1;如果中点元素大于查询值,则将上边界设置为中点元素的下标减1;否则,中点元素是要找到并可以返回的元素。
二分搜索法法典如下:
函数binSearch(arr,data){//二分搜索法,也叫二分搜索法var upper bound=arr . length-1;var LowerBound=0;而(下限=上限){//varmid=math。floor((下限上限)/2);Document.write('当前中点为:' mid ' br ');//如果(arr [mid]数据){下限=mid 1,则记录所选中点;} else if(arr[mid]data){ upper bound=mid-1;} else { return mid} } return-1;}然后还有重复的,需要统计一下。计数的思想是开始在找到点的位置周围遍历,如果相同就计数,如果不同就停止遍历。代码如下:
函数count(arr,data){//计算重复出现的次数,var count=0;var position=binSearch(arr,data);//找出位置if(position-1){ count;//找到后,左右遍历一次,直到找到不同的值,break for(var I=position-1;i0;I-){ if(arr[I]==数据){ count} else { break} } for(var I=位置1;长度;I){ if(arr[I]==数据){ count} else { break} } }返回计数;}最后,实验:
//实验var nums=[1,2,2,3,3,4,5,6,7,8,9,10,11];var bool=binSearch(nums,3);Document.write(的位置为:“bool”br));Document.write('包含:' count(nums,3));//当前中点:6//当前中点:2//当前中点:4//位置:4//当前中点:6//当前中点:2//当前中点:4//编号为2的完整代码:
!doctype HTML HTML Head metharset=' utf-8 ' title JavaScript二分搜索法/title/head body脚本类型=' text/JavaScript '函数binsearch (arr,data){//二分搜索法,也叫二分搜索法var upper boud=arr . length-1;var LowerBound=0;而(下限=上限){//varmid=math。floor((下限上限)/2);Document.write('当前中点为:' mid ' br ');//如果(arr [mid]数据){下限=mid 1,则记录所选中点;} else if(arr[mid]data){ upper bound=mid-1;} else { return mid} } return-1;}函数计数(arr,data){//计算重复次数var count=0;var position=binSearch(arr,data);//找出位置if(position-1){ count;//找到后,左右遍历一次,直到找到不同的值,break for(var I=position-1;i0;I-){ if(arr[I]==数据){ count} else { break} } for(var I=位置1;长度;I){ if(arr[I]==数据){ count} else { break} } }返回计数;}//实验var nums=[1,2,2,3,3,4,5,6,7,8,9,10,11];var bool=binSearch(nums,3);Document.write(的位置为:“bool”br));Document.write('包含:' count(nums,3));//当前中点:6 //当前中点:2 //当前中点:4 //位置:4 //当前中点:6 //当前中点:2 //当前中点:4 //包含编号:2 /脚本/正文/html运行效果图如下:
更多对JavaScript相关内容感兴趣的读者可以查看本网站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、0103010。
希望本文对JavaScript编程有所帮助。
版权声明:基于JavaScript的二分搜索法算法示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。