Pesquisa binária (pesquisa binária) - o método de pesquisa mais comum

Busca binária

Exemplo de introdução
A: Quanto você comprou seus sapatos?
B: palpite
A: 1000?
B: Não, é maior.
A: 500?
B: Maior
A: 250?
B: É baixo
...
Repetidamente, eliminando metade de uma vez, você definitivamente obterá o valor correto no final

Busca binária

Vantagens: menos tempo de comparação, velocidade de pesquisa rápida e bom desempenho médio.

Desvantagens: O array pesquisado deve ser um array ordenado.

Complexidade de tempo: O (logN)

#include<stdio.h>
int binary_search(int key,int a[],int n)
{
    
    
	int high,mid,low,count;
	low=0;
	high=n-1;
	count=0;
	while(low<=high){
    
    
			mid=(high+low)/2;
		if(a[mid]==key){
    
    
			printf("查找成功,a[%d]=%d",mid,key);
			count=1;
			break; 
			
		}								
		else if(a[mid]<key)
		 	low=mid+1;
		else
			high=mid-1; 
	}
	if(count==0)
		printf("查找失败"); 
	return 0;
 } 
 int main(){
    
    
 	int i,n,a[100],key;
 	printf("请输入数组长度:\n");
 	scanf("%d",&n);
 	printf("请输入数组元素:\n");
 	for(i=0;i<n;i++)
 	scanf("%d",&a[i]);	
	printf("输入你要查找的元素:\n");
	scanf("%d",&key);
	binary_search(key,a,n);
	return 0;
 }


Acho que você gosta

Origin blog.csdn.net/dd_Mr/article/details/104178934
Recomendado
Clasificación