文章 > PHP > php数组中二分寻觅是什么

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电脑主题

关爱公众号,随时随地在线学习

本教程部分素材缘于网络。版权问题联系院校长!

<上一篇: php寻觅算法是什么

下一篇:不比了

Baidu