Análisis del algoritmo de búsqueda binaria en lenguaje C

Definir:

En cierto sentido, se debe ejecutar una vez para obtener los subíndices restantes (principio y final) / 2 en una cantidad intermedia, y luego comparar para encontrar el número que desea encontrar. Tal algoritmo simplificará el proceso de ejecución N veces.  

Escrito en la portada: Soy solo un pequeño blanco que constantemente se ejercita en el blog, esperando gustar a todos, si hay algún problema, podemos comunicarnos y avanzar juntos.

A continuación damos un ejemplo sencillo para mostrar mis pensamientos. ¡Espero que los lectores puedan entender el significado del código! ! ! ! ! ! !

#include <stdio.h> 
#include <string.h> 
#include <Windows.h> 
#include <stdlib.h> 
int main () 
{ 
	int a, sz, left, right, mid; 
	int num [] = { 1,2,3,4,5,6,7,8,9,10}; 
	printf ("Introduzca un número: \ n"); 
	scanf ("% d", & a); 
	sz = sizeof (num) / sizeof (num [0]) - 1; // Calcula el número de matrices 
	left = 0; // Define los valores de subíndice inicial y final de la matriz 
	right = sz-1; 
	while (left <= right) / / Loop body loop, need Los lectores pueden comprender por sí mismos 
	{ 
		mid = (left + right) / 2; 
	if (num [mid]> a) 
	{ 
		right = mid-1;
	} 
	
	más si (num [mid] <a)
	{
			left = mid + 1; 
	} 
	else 
	{ 
		printf ("Lo encontré, el subíndice es:% d", mid); 
		break; 
	} 
	} 
	if (left> right) 
	{ 
		printf ("Lo siento no encontrado \ n"); 
	} 

		

	
	return 0; 
}


Supongo que te gusta

Origin blog.51cto.com/15144773/2674893
Recomendado
Clasificación