Anda di halaman 1dari 4

Metodos Busqueda La bsqueda es una operacin que tiene por objeto la localizacin de un elemento dentro de la estructura de datos.

A menudo un programador estar trabajando con grandes cantidades de datos almacenados en arreglos y pudiera resultar necesario determinar si un arreglo contiene un valor que coincide con algn valor clave o buscado. Siendo el array de una dimensin o lista una estructura de acceso directo y a su vez de acceso secuencial, encontramos dos tcnicas que utilizan estos dos mtodos de acceso, para encontrar elementos dentro de un array: bsqueda lineal y bsqueda binaria.
Bsqueda Secuencial La bsqueda secuencial es la tcnica ms simple para buscar un elemento en un arreglo. Consiste en recorrer el arreglo elemento a elemento e ir comparando con el valor buscado (clave). Se empieza con la primera casilla del arreglo y se observa una casilla tras otra hasta que se encuentra el elemento buscado o se han visto todas las casillas. El resultado de la bsqueda es un solo valor, y ser la posicin del elemento buscado o cero. Dado que el arreglo no est en ningn orden en particular, existe la misma probabilidad de que el valor se encuentra ya sea en el primer elemento, como en el ltimo. Por lo tanto, en promedio, el programa tendr que comparar el valor buscado con la mitad de los elementos del arreglo. El mtodo de bsqueda lineal funciona bien con arreglos pequeos o para arreglos no ordenados. Codificacin: void sequential_search(int x[100], int search_num) { int index = 0; while((index <> { // Loop while the number is not found and while more elements remain. if(x[index] != search_num) { // If current element is not the one for which we are index++; // searching, increment subscript index. } }

return(index); } de aqu ne dos Bsqueda Secuencial Indexada Descripcin de la tcnica. Un mtodo popular para superar las desventajas de los archivos secuenciales es el del archivo secuencial indexado; pero implica un aumento en la cantidad de espacio requerida. Funciona de la siguiente manera: Se reserva una tabla auxiliar llamada ndice adems del archivo ordenado mismo. Cada elemento en el indice consta de una llave kindex y un apuntador al registro en el archivo que corresponde a kindex. Los elementos en el indice al igual que los elementos en el archivo, deben estar ordenados en la llave. Si el indice es de un octavo del tamao del archivo, se representa en el indice cada octavo registra el archivo. Codificacin. Algoritmo de Bsqueda Secuencial Indexada: PROCEDURE B_S_INDEXADA (llave:integer; var pocis:integer); Var i,n:integer; f:boolean; begin f:=false; i:=1; while (i f:= true;

else inc(i); if i=1 then linf:=1 else linf:=pindex[i-1]; if f then lsup:=pindex[i]-1 else lsup:=n; j:=linf; f:=false; while(j<=lsup) ands (not f) do if k[j]="llave" then f:="true" else inc(j); if f then posic:="j" else posic:="0;" end;

Y LA BINARIA... de esta encontre codificacin en la segunda pgina de arriba Bsqueda Binaria La bsqueda binaria es el mtodo ms eficiente para encontrar elementos en un arreglo ordenado. El proceso comienza comparando el elemento central del arreglo con el valor buscado. Si ambos coinciden finaliza la bsqueda. Si no ocurre as, el elemento buscado ser mayor o menor en sentido estricto que el central del arreglo. Si el elemento buscado es mayor se procede a hacer bsqueda binaria en el subarray superior, si el elemento buscado es menor que el contenido de la casilla central, se debe cambiar el segmento a considerar al segmento que est a la izquierda de tal sitio central. Si los datos que se buscan estn clasificados en un determinado orden, el mtodo citado anteriormente se denomina bsqueda binaria.