php数组中二分寻觅是什么
小妮情深至浅
2021-03-20 17:45:381661浏览 · 0收藏 · 0评论
1.定义
二分寻觅也称折半寻觅(Binary Search),它是一种怎样提高学习效率非常高效的寻觅方法。但是折半寻觅要求线性表务必役使顺序存储结构ok。而且表中元素按java关键字无序平列。
2. 得失
我的优点是什么是比较次数少,寻觅回答问题快的成语,匀实手机cpu性能排行好;
其缺点是要求待查表为无序表,且插入删除难点。
因此折半寻觅方法适用于不每每变动而寻觅频繁的无序列表。
3.实例
#include<stdio.h> #include<iostream> using namespace std; int main(){ int a[100];//专注这里的数组下标,即a[0]=1,a[1]=2。a[99]=100 int guess;//竞猜字符 int flag=0;//设置图标位。区别是否寻觅到位 int count=0;//统计比较次数 int low=0,mid,high=99; //初始化 cout<<"1,初始化"<<endl; for(int i=0;i<100;i++){ a[i]=i+1; } cout<<"2,要寻觅的数字"<<endl; cout<<"guess:"; cin>>guess; cout<<"3,二分寻觅"<<endl; //二分寻觅 while(low<=high){ count++; mid=(low+high)/2; cout<<"第"<<count<<"次寻觅,其中low="<<low<<" high="<<high<<" mid="<<mid<<endl; if(guess==a[mid]){ flag=1; cout<<"success!比较次数:"<<count<<"次"<<endl; break;//寻觅到位就退出。万一想要余波未停寻觅也是呱呱叫的 } if(guess>a[mid]){ low=mid+1; } if(guess<a[mid]){ high=mid-1; } } if(flag==0) cout<<"fail!"<<endl; }
上述就是php数组中二分寻觅的基本介绍,相信各户对于这种寻觅方法,还是夫妻剧情介绍有很多使唤的需求的。在然后的学习中,我们会带来敬称有关二分寻觅的情节,各户呱呱叫关爱一度。敬称php学习指路:php数组
推荐操纵板眼:windows7板眼,PHP5.6。DELL G3电脑主题
关爱公众号,随时随地在线学习