Al finalizar la sesión el estudiante comprenderá y utilizará
adecuadamente las operaciones con búsqueda en el desarrollo de soluciones. Búsqueda • La búsqueda es un proceso que tiene por finalidad localizar un elemento dentro de una lista de elementos.
• El resultado de este proceso de búsqueda, puedes ser que encuentre
o no el elemento buscado.
• La búsqueda se realiza en cualquier actividad del ser humano. Por
ejemplo: búsqueda de una palabra en un diccionario, búsqueda de un número telefónico en la guía, etc. • Búsqueda de una dirección. Búsqueda • La búsquedas se realizan sobre elementos ordenados ó sobre elementos no ordenados. • Si los elementos están ordenados la búsqueda toma menos tiempo. Búsqueda • La búsqueda se clasifica en Interna y Externa. • Búsqueda interna.- Se realiza cuando los elementos se encuentran en memoria principal. • Búsqueda externa.- Se realiza cuando los elementos se encuentran en memoria secundaria (ejemplo: disco duro). Búsqueda Interna • Esta búsqueda trabaja con elementos que se encuentran en memoria principal. • Los elementos pueden estar almacenados en estructuras estáticas como: arreglos, en estructuras dinámicas como listas enlazadas y árboles Búsqueda Métodos: • Secuencial o Lineal • Binaria • Por transformación de claves (Hash) • Árbol de Búsqueda Búsqueda Secuencial • Consiste en revisar elemento por elemento hasta encontrar el dato buscado o hasta llegar al final de la lista de datos. • Búsqueda en arreglos no ordenados. • consiste en recorrer todo el arreglo elemento por elemento y comparar cada elemento con el valor buscado. Se recorre desde el primer elemento hasta el ultimo elemento, la comparación termina cuando se encuentra el primer elemento buscado o hasta que se termine el arreglo. Búsqueda Secuencial
• Ejemplo: buscar el número 15.
• Empezamos por el primer elemento del arreglo y
lo comparamos con el valor a buscar (15), si no es igual avanzamos hacía el segundo elemento. Realizamos el mismo proceso hasta llegar al final del arreglo. • La búsqueda en este caso es un fracaso. Búsqueda Secuencial • La búsqueda secuencial en arreglos ordenados, consiste en recorrer todo el arreglo de izquierda a derecha, hasta que se cumpla una de estas condiciones: • Se encuentre el primer elemento buscado. • El elemento del arreglo sea mayor al valor a buscar. • Se termine el arreglo Búsqueda Secuencial
• Ejemplo: buscar el número 9.
• Comparamos el primer elemento del arreglo (5)
con el valor a buscar (9), si es menor avanzamos hacía el segundo elemento. • Comparamos el 7 con el 9, como es menor avanzamos. Búsqueda Secuencial
• Ejemplo: buscar el número 9.
• Comparamos el 8 con el 9, como es menor
avanzamos. • Comparamos el 10 con el 9, como es mayor, detenemos la búsqueda. Búsqueda Binaria Consiste en dividir los datos de búsqueda en dos partes, comparando el elemento a buscar con el elemento que está en el medio del arreglo. • Si no es igual, continuamos la búsqueda en una de las dos partes. • Vamos a la parte izquierda si el número a buscar es menor que el número central Búsqueda Binaria Vamos a la derecha si el número a buscar es mayor que el número central. • Este proceso se realiza varias veces hasta encontrar el número ó hasta que no existan mas números en cada parte. Búsqueda Binaria
Ejemplo: buscar el número 8
Dividimos en 2 grupos iguales
Comparamos el 8 con el número del medio
(12), como no son iguales. Tomamos uno de los grupos formados. Búsqueda Binaria
Como el 8 es menor que el 12, tomamos el grupo de
la izquierda
Dividimos el grupo y el número del medio el
7 lo comparamos con el 8, no son iguales. Búsqueda Binaria
Como el 8 es mayor que el 7 tomamos el grupo de
números que está a la derecha. El nuevo grupo sería:
Volvemos a dividir el grupo y el número del
medio sería el 8, como son iguales la búsqueda ha sido un éxito. Preguntas