数据结构与算法 --- js二分算法
2024-10-08 05:19:58
var arr = [-34, 1, 3, 4, 5, 8, 34, 45, 65, 87];
//递归方式
function binarySearch(data,dest,start,end ){
var end=end || data.length-1;
var start=start || 0;
m=Math.floor((end+start)/2);
if(data[m]==dest){
return m;
}
if(dest<data[m]){
return binarySearch(data,dest,0,m-1);
}else{
return binarySearch(data,dest,m+1,end);
}
return false;
}
var result=binarySearch(arr,4);
console.log(result);
//非递归方式
function binarySearch2(data,dest){
var h = data.length - 1,
j = 0;
while (j <= h){
var m=Math.floor((h+j)/2);
if(data[m]==dest){
return m;
}
if(dest>data[m]){
j=m+1;
}else{
h=m-1;
}
}
return false;
}
console.log(binarySearch2(arr,8));
最新文章
- [原创]java WEB学习笔记103:Spring学习---Spring Bean配置:基于注解的方式(基于注解配置bean,基于注解来装配bean的属性)
- chgrp 简明笔记
- Block 传值
- jboss eap6出现Tags_$$_javassist_26 cannot be cast to javassist.util.proxy.ProxyObject的解决办法
- openSource clouds
- 更换centos源
- hdu 2817 A sequence of numbers(快速幂)
- 21副GIF动图让你了解各种数学概念(转。太强大了)
- Linux下安装McAfee防病毒软件(企业版本)
- 201521123107 《Java程序设计》第9周学习总结
- postgis 随笔
- Python:从入门到实践--第八章-函数-练习
- 取MySQL结果集的第一条记录
- C 语言实现基于 Linux 的端口扫描程序
- .NET基础之this关键字
- BIM轻量化助力建筑业迈向BIM+时代
- Python int 中 add abs 方法
- “数学口袋精灵”第二个Sprint计划(第三天)
- 转 分享我在阿里工作十年接触过Java框架设计模式
- js 从基础入门 到放弃 001
热门文章
- pg_dump
- c#链接redis用户名密码
- Java8 Date API
- $CF24D\ Broken Robot\ DP+$高斯消元
- 2020了你还不会Java8新特性?(五)收集器比较器用法详解及源码剖析
- Win10该文件没有与之关联的应用来执行该操作...请在";默认应用设置";页面中创建关联
- html1,初识html
- Ant Design Pro路由传值
- Hyperledger Fabric1.4 安装
- IDEA 2019.2及以下版本永久激活教程(亲测可用)