B - PowerPoint PPT Presentation

About This Presentation
Title:

B

Description:

Complejidad. 2. Introducci n. Se trata de hallar un elemento de dato a trav s de una valor llave. ... Hallar elemento 22. 10. Algoritmo B squeda Binaria ... – PowerPoint PPT presentation

Number of Views:74
Avg rating:3.0/5.0
Slides: 13
Provided by: pedroco7
Category:
Tags: dividir | hallar

less

Transcript and Presenter's Notes

Title: B


1
Búsqueda
  • Introducción
  • Algoritmos
  • Complejidad

2
Introducción
  • Se trata de hallar un elemento de dato a través
    de una valor llave. Existen dos grupos de métodos
    de búsqueda
  • Métodos simples
  • Búsqueda lineal sobre un array
  • Búsqueda lineal sobre una lista enlazada
  • Búsqueda lineal sobre un array ordenado
  • Búsqueda lineal sobre una lista enlazada

3
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

4
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

5
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.

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
  • Hallar elemento 22

10
Algoritmo Búsqueda Binaria
  • Pseudocódigo (versión recursiva)
  • Algorithm BinarySearch(S, k, low, high)
  • if low gt high then
  • return NO_EXISTE_LLAVE
  • else
  • mid ? (lowhigh) / 2
  • if k key(mid) then
  • return key(mid)
  • else if k lt key(mid) then
  • return BinarySearch(S, k, low, mid-1)
  • else return BinarySearch(S, k, mid1, high)

11
Algoritmo Búsqueda Binaria
  • Tiempo de ejecución
  • El rango de elementos candidatos a buscar es la
    mitad después de cada comparación.
  • En la implementación con array, el acceso por
    rango toma un tiempo O(1), por tanto, la
    búsqueda binaria corre en un tiempo O(log n).

12
Algoritmos
  • Búsqueda por interpolación sobre un array
    ordenado
  • Es un método mejorado al de búsqueda binaria. Se
    diferencia de ella en que la partición de los
    subarrays se realiza de manera lineal según la
    siguiente fórmula
  • ind_interp entero (Pri (Ult - Pri -1)
    (llave - APri) )
  • AUlti - APrim
  • Búsqueda por Fibonacci sobre un array ordenado
  • Es un método mejorado al de búsqueda binaria. Se
    diferencia de ella en que la partición de los
    subarrays se realiza usando los números de
    Fibonacci
  • Fib0 0, Fib1 1, Fibk Fibk-1
    Fibk-2 kgt1
Write a Comment
User Comments (0)
About PowerShow.com