algoritmos de b squeda n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Algoritmos de Búsqueda PowerPoint Presentation
Download Presentation
Algoritmos de Búsqueda

play fullscreen
1 / 124

Algoritmos de Búsqueda

201 Views Download Presentation
Download Presentation

Algoritmos de Búsqueda

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Algoritmos de Búsqueda TEMA XIII: Algoritmos de Búsqueda y Ordenación Programación I

  2. 4 Indice • Búsqueda Automática de Información • Búsqueda en un Vector • Recorrido con Tratamiento Selectivo • Vector Ordenado • Concepto de Campo Clave • Búsqueda Secuencial • Búsqueda Secuencial con Centinela • Búsqueda Binaria o Dicotómica • Medida de la Complejidad de un Algoritmo • Valores del mejor, peor y caso medio • Comparación de las Estrategias de Búsqueda

  3. 5 Búsqueda Automática de Información 1.Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo • Importancia en diferentes aplicaciones • Objetivo: Localización de un elemento clave dentro de una colección de datos • Búsqueda lineal • Búsqueda Interna: Vectores, Listas • Búsqueda Externa: Ficheros 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  4. 6 Búsqueda en un Vector 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo • Tipos de Búsqueda • Búsqueda Secuencial • Búsqueda Binaria • Eficiencia vs generalidad • Simplificación • Tipo índice numérico • incrementos del índice - función succ • Tipo base simple • comparaciones - función que realice la comparación 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  5. 7 Recorrido de un Vector con Tratamiento Selectivo 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo • Recorrido completo del vector • Localiza buscado n veces • Código ejemplo: VAR buscado: <tipo>; V: ARRAY [1..n] OF <tipo>; i: 1..n; BEGIN FOR i:=1 TO n DO IF V[i] = buscado THEN (* procesar (v[i]) *) 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  6. 8 Vector Ordenado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo • Vector ordenado por clave • Si buscado en el vector no es necesario recorrido completo • Aumenta la eficiencia de búsqueda • Estrategias de Búsqueda • Búsqueda Secuencial • Finaliza si componente >= buscado • Búsqueda Binaria o Dicotómica 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  7. 9 Concepto de Campo Clave 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo • Clave: Valor que caracteriza al elemento que se busca • Valor de un campo (clave simple) • Un elemento del vector • Un campo de un elemento del vector • Combinación de varios (clave compleja) • Comparaciones con respecto a la clave • Clave compleja • No comparación directa • Función de comparación 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  8. 10 Búsqueda Secuencial 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo • Aplicable si: • buscado solo una vez en el vector • Sólo interesa la primera aparición • No siempre recorrido completo • No imprescindible vector ordenado • La búsqueda finaliza si: • Aparece buscado • Se acaba el vector (buscado no está) 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  9. 11 Búsqueda Secuencial 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo CONST n = …; VAR buscado: <tipo>; V: ARRAY [1..n] OF <tipo>; i: 1..(n+1); pos: 1..n; encontrado: BOOLEAN; i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  10. 12 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  11. 13 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  12. 14 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  13. 15 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  14. 16 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  15. 17 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  16. 18 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  17. 19 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  18. 20 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  19. 21 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  20. 22 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  21. 23 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  22. 24 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  23. 25 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  24. 26 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  25. 27 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  26. 28 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; encontrado := (buscado = V[i]); END; IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  27. 29 Vector Ordenado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo CONST n = ...; VAR buscado: <tipo>; V: ARRAY [1..n] OF <tipo>; pos: 1..(n+1); encontrado, hallado: BOOLEAN; pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  28. 30 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  29. 31 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  30. 32 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  31. 33 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  32. 34 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  33. 35 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  34. 36 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  35. 37 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  36. 38 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  37. 39 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  38. 40 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  39. 41 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  40. 42 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  41. 43 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  42. 44 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  43. 45 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  44. 46 Ejemplo valor no encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo pos := 1; hallado := FALSE; WHILE (pos <= n) AND NOT hallado DO IF buscado <= V[pos] THEN hallado := TRUE ELSE pos := pos +1; IF (pos <= n) THEN encontrado := (buscado = V[pos]) ELSE encontrado := FALSE; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  45. 47 Búsqueda Secuencialcon Centinela 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo • Dos Comparaciones no Eficiente • Si buscado en el vector • Una comparación • Un elemento más en el vector • Centinela 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  46. 48 Búsqueda Secuencialcon Centinela 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo CONST n = ...; VAR buscado: <tipo>; V: ARRAY [1..(n+1)] OF <tipo>; i: 1..(n+1); pos: 1..n; encontrado: BOOLEAN; i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  47. 49 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  48. 50 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  49. 51 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

  50. 52 Ejemplo valor encontrado 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda