Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• Introducción
• Algoritmos
• Complejidad
1
Introducción
2
Introducción
– Métodos avanzados:
• Búsqueda binaria sobre un array ordenado
• Búsqueda por interpolación sobre un array ordenado
• Búsqueda por interpolación sobre un array ordenado
• Búsqueda binaria sobre un árbol binario de
búsqueda
• Búsqueda usando estrategia hash
3
Algoritmos
• Búsqueda lineal sobre un array
Consiste en una búsqueda secuencial sobre el
array.
• Búsqueda lineal sobre una lista enlazada
Consiste en una búsqueda secuencial sobre la lista.
• Búsqueda lineal sobre un array ordenado
Consiste en una búsqueda secuencial sobre el
array
• Búsqueda lineal sobre una lista ordenada
Consiste en una búsqueda secuencial sobre la lista
4
Algoritmos
• Búsqueda binaria sobre un array ordenado
Aplica la técnica de dividir y vencer. Consiste en dividir
por la mitad el array original obteniendo dos subarrays. La
búsqueda se limita a uno de los subarrays.
5
Algoritmo Búsqueda Binaria
Hallar elemento 22
6
Algoritmo Búsqueda Binaria
Hallar elemento 22
7
Algoritmo Búsqueda Binaria
Hallar elemento 22
8
Algoritmo Búsqueda Binaria
Hallar elemento 22
9
Algoritmo Búsqueda Binaria
Pseudocódigo (versión recursiva):
Algorithm BinarySearch(S, k, low, high)
if low > high then
return NO_EXISTE_LLAVE
else
mid (low+high) / 2
if k = key(mid) then
return key(mid)
else if k < key(mid) then
return BinarySearch(S, k, low, mid-1)
else return BinarySearch(S, k, mid+1, high)
10
Algoritmo Búsqueda Binaria
Tiempo de ejecución:
• El rango de elementos candidatos a buscar es la mitad
después de cada comparación.