3. ALGORITMOS
Un algoritmo es un conjunto de reglas definidas que
permite solucionar un problema, de una determinada
manera, mediante operaciones sistemáticas (no
necesariamente ordenadas) y finitas. Estas
instrucciones, definidas y ordenadas en función de los
datos, resuelven el problema o la tarea.
• Entrada: Se trata del conjunto de datos que el
algoritmo necesita como insumo para procesar.
• Proceso: Son los pasos necesarios aplicados por el
algoritmo a la entrada recibida para poder llegar a
una salida o resolución del problema.
• Salida: Es el resultado producido por el algoritmo a
partir del procesamiento de la entrada una vez
terminada la ejecución del proceso.
5. Introducció
n
Un algoritmo de búsqueda es aquel que está diseñado para
localizar un elemento con ciertas propiedades dentro de
una estructura de datos; por ejemplo, ubicar el registro
correspondiente a cierta persona en una base de datos, o el
mejor movimiento en una partida de ajedrez.
Un problema de búsqueda puede enunciarse del siguiente
modo: dado un conjunto de elementos CB (Conjunto
Búsqueda) de un cierto tipo determinar si un elemento
("dato") se encuentra en el conjunto o no. Existen diferentes
algoritmos de búsqueda y la elección depende de la forma
en que se encuentren organizados los datos: si se encuentran
ordenados o si se ignora su disposición o se sabe que están al
azar. También depende de si los datos a ordenar pueden ser
accedidos de modo aleatorio o deben ser accedidos de modo
secuencial.
6. BUSQUEDA LINEAL
La búsqueda lineal es el algoritmo de búsqueda más
simple. También se llama búsqueda secuencial
porque, en este algoritmo, buscamos un elemento
atravesando toda el array y comparando cada
elemento con el elemento deseado para encontrar
una coincidencia. Si se encuentra el elemento
deseado, se devuelve el índice o ese elemento; de lo
contrario, continuamos buscando hasta agotar el
array. También podemos buscar múltiples
apariciones de un elemento dentro de un array. Se
utiliza principalmente para buscar elementos dentro
de un array sin clasificar. No se usa prácticamente
porque es mucho más lento que la búsqueda binaria.
8. BUSQUEDA BINARIA
BÚSQUEDA BINARIA
La búsqueda de un elemento dentro de un array es una de las operaciones más
importantes en el procesamiento de información, y permite la recuperación de
datos. El caso de la Búsqueda Binaria, que es uno de las tantas búsquedas que
existe, pero la más usada, está hecho para diferentes campos en el mundo laboral,
como por ejemplo una secretaria podría perder tan sólo uno o dos minutos para
encontrar el archivo de uno de los clientes de la compañía para la cual trabaja,
esto, asumiendo que los archivos estén perfectamente ordenados y catalogados.
ALGORITMO
La búsqueda binaria funciona en arreglos ordenados. Consiste en eliminar, tras
cada comparación, la mitad de los elementos del arreglo en los que se efectúa la
búsqueda, comienza por comparar el elemento del medio del arreglo con el valor
buscado. Si el valor buscado es igual al elemento del medio, su posición en el
arreglo es retornada. Si el valor buscado es menor o mayor que el elemento del
medio, la búsqueda continuará en la primera o segunda mitad, respectivamente,
dejando la otra mitad fuera de consideración; y si son iguales, se ha encontrado
dicho valor buscado y se devuelve la posición y sale del bucle; pero si no es así
seguirá buscando dicho valor dentro del bucle y hará las comparaciones necesarias
hasta encontrar el valor buscado.
9. ¿Como funciona la búsqueda binaria?
¿Como funciona la búsqueda binaria?
Necesitamos una Serie de datos para realizar la busqueda: El
elemento en la posicion inicio,fin,medio.y por supuesto el tamaño del
vector y element que queremos buscar.
Inicio = 0;
Fin=tam-1;
Medio =(inicio+fin)/2;
Preguntamos si el element buscado es igual al elmento que se
encuentra en la posición medio del array,si es afirmativo ya
encontramos el elmento y no hay nada mas que hacer.
1 if(buscado==array[medio]){
2 cout<<“se encuentra en la posicion”<<medio+1<<endl;
3 Return array^[medio];}
Si no es asi. preguntamos si el elemento que se encuentra en la posición medio
es mayor al elemento buscado ,si es afirmativo y como el array esta ordenado
,quiere decir que elemento buscado es menor al del medio.entonces ahora
solo buscaríamos en esa división del array,por lo tanto,el fin ahora seria el
elemento anterior al medio.
1. if(array[medio]>buscado){
2. Fin = medio-1;
3. }