Anda di halaman 1dari 2

ALGORITMO DE BSQUEDA Un algoritmo de bsqueda es aquel que est diseado para localizar un elemento concreto dentro de una estructura

de datos. Consiste en solucionar un problema de existencia o no de un elemento determinado en un conjunto finito de elementos, es decir, si el elemento en cuestin pertenece o no a dicho conjunto, adems de su localizacin dentro de ste. Este problema puede reducirse a devolver la existencia de un nmero en un vector. BUSQUEDA SECUENCIAL Se utiliza cuando el contenido del Vector no se encuentra o no puede ser ordenado. Consiste en buscar el elemento comparndolo secuencialmente (de ah su nombre) con cada elemento del arreglo o conjunto de datos hasta que se encuentre, o hasta que se llegue al final del arreglo. La existencia se puede asegurar desde el momento que el elemento es localizado, pero no podemos asegurar la no existencia hasta no haber analizado todos los elementos del arreglo. A continuacin se muestra el pseudocdigo del algoritmo: Datos de Entrada: vec: vector en el que se desea buscar el elemento tam: tamao del vector dato: elemento que se quiere buscar. Variables pos: posicin actual en el array pos = 0 Mientras pos < tam: Si vec[pos]== dato devolver verdadero y/o pos, de lo contrario: pos = pos + 1 Fin (Mientras) Devolver falso

BUSQUEDA BINARIA Se utiliza cuando el vector en el que queremos determinar la existencia o no de un elemento est ordenado, o puede estarlo, este algoritmo reduce el tiempo de bsqueda considerablemente, ya que disminuye exponencialmente con el nmero de iteraciones. Para implementar este algoritmo se compara el elemento a buscar con un elemento

cualquiera del arreglo o conjunto de datos (habitualmente el elemento en la posicin central del arreglo), si el valor de ste es mayor que el del elemento buscado se repite el procedimiento en la parte del arreglo que va desde el inicio de ste hasta el elemento tomado, en caso contrario se toma la parte del arreglo que va desde el elemento tomado hasta el final. De esta manera obtenemos intervalos cada vez ms pequeos, hasta que se obtenga un intervalo indivisible, con el elemento buscado como elemento central. Si el elemento no se encuentra dentro de este ltimo entonces se deduce que el elemento buscado no se encuentra en el arreglo. A continuacin se presenta el pseudocdigo del algoritmo, tomando como elemento inicial el elemento central del arreglo. Datos de Entrada: vec: vector en el que se desea buscar el elemento tam: tamao del vector dato: elemento que se quiere buscar. Variables centro: elemento central del intervalo inf: lmite inferior del intervalo sup: lmite superior del intervalo inf = 0 sup = tam1 Mientras inf <= sup: centro = ((sup + inf) / 2) /* divisin entera: se trunca la parte decimal */ Si vec[centro] == dato devolver verdadero y/o pos, de lo contrario: Si dato < vec[centro] entonces: sup=centro1 En caso contrario: inf=centro+1 Fin (Mientras) Devolver Falso

Anda mungkin juga menyukai