DEDA_U2_A1_JDWB

download DEDA_U2_A1_JDWB

of 10

Transcript of DEDA_U2_A1_JDWB

Actividad 1. Identificacin de mtodos de bsqueda

Mtodos bsqueda

Mtodos BsquedaLa 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 SecuencialLa 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 areindex++; // searching, increment subscript index.}}return(index);}Bsqueda Secuencial IndexadaDescripcin 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 ndice consta de una llave kindex y un apuntador al registro en el archivo que corresponde a kindex. Los elementos en el ndice al igual que los elementos en el archivo, deben estar ordenados en la llave. Si el ndice es de un octavo del tamao del archivo, se representa en el ndice 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;beginf:=false;i:=1;while (if:= true;elseinc(i);if i=1 thenlinf:=1elselinf:=pindex[i-1];if f thenlsup:=pindex[i]-1elselsup:=n;j:=linf; f:=false;while(j