b squeda l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Búsqueda PowerPoint Presentation
Download Presentation
Búsqueda

Loading in 2 Seconds...

play fullscreen
1 / 12

Búsqueda - PowerPoint PPT Presentation


  • 235 Views
  • Uploaded on

Búsqueda. Introducción Algoritmos Complejidad. 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Búsqueda' - tejana


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
b squeda
Búsqueda
  • Introducción
  • Algoritmos
  • Complejidad
introducci n
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
introducci n3
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
algoritmos
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

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

algoritmo b squeda binaria
Algoritmo Búsqueda Binaria

Hallar elemento 22

algoritmo b squeda binaria7
Algoritmo Búsqueda Binaria

Hallar elemento 22

algoritmo b squeda binaria8
Algoritmo Búsqueda Binaria

Hallar elemento 22

algoritmo b squeda binaria9
Algoritmo Búsqueda Binaria

Hallar elemento 22

algoritmo b squeda binaria10
Algoritmo Búsqueda Binaria

Pseudocódigo (versión recursiva):

Algorithm BinarySearch(S, k, low, high)

if low > high then

returnNO_EXISTE_LLAVE

else

mid  (low+high) / 2

if k = key(mid) then

return key(mid)

else if k < key(mid) then

returnBinarySearch(S, k, low, mid-1)

else returnBinarySearch(S, k, mid+1, high)

algoritmo b squeda binaria11
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).
algoritmos12
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 - A[Pri]) )

A[Ulti] - A[Prim]

  • 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:

Fib[0] = 0, Fib[1] = 1, Fib[k] = Fib[k-1] + Fib[k-2] k>1