欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

查找次数(二分法)

程序员文章站 2022-03-01 18:43:38
...

问题描述:

设有100个数据元素,采用二分查找时,最大比较次数为:

分析:

元素要查找到

代码:

#include <iostream>
using namespace std;
int main(){
	int a[101];
	for(int i=0;i<=100;i++) a[i]=i;
	
	int ans;
	for(int i=1;i<=100;i++){
		int low=1,high=100,mid=0;
		int ans=0;
		while(low<=high && a[mid]!=i){
			mid=(low+high)/2;
			if(a[mid]<i) low=mid+1;
			else high=mid-1;
			ans++;
		}
		if(a[mid]==i) cout<<i<<"查找"<<ans<<"次"<<endl; 
	}
	
	return 0;
}

结果:

运行后