La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Algoritmos de Búsqueda

Presentaciones similares


Presentación del tema: "Algoritmos de Búsqueda"— Transcripción de la presentación:

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

2 Indice Búsqueda Automática de Información Búsqueda en un Vector
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 Búsqueda Automática de Información
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 Búsqueda en un Vector Tipos de Búsqueda Eficiencia vs generalidad
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 Recorrido de un Vector con Tratamiento Selectivo
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 Vector Ordenado Vector ordenado por clave Estrategias de Búsqueda
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 Concepto de Campo Clave
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 Búsqueda Secuencial Aplicable si: No siempre recorrido completo
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 Búsqueda Secuencial encontrado := (buscado = V[i]);
11 1. Búsqueda automática de información 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; END; IF encontrado THEN pos := i; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 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 Ejemplo valor encontrado
12 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 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 Ejemplo valor encontrado
13 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 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 Ejemplo valor encontrado
14 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 F 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 Ejemplo valor encontrado
15 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 F 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 Ejemplo valor encontrado
16 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 F T 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 Ejemplo valor encontrado
17 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 F T 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 Ejemplo valor no encontrado
18 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 5 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 Ejemplo valor no encontrado
19 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 5 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 Ejemplo valor no encontrado
20 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 5 F 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 Ejemplo valor no encontrado
21 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 5 F 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 Ejemplo valor no encontrado
22 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 5 F 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 Ejemplo valor no encontrado
23 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 5 F 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 Ejemplo valor no encontrado
24 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 5 F 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 Ejemplo valor no encontrado
25 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 5 F 6 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 Ejemplo valor no encontrado
26 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 5 F 6 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 Ejemplo valor no encontrado
27 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 5 F 6 8 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 Ejemplo valor no encontrado
28 i := 1; encontrado := (buscado = V[i]); WHILE (i <= n) AND (NOT encontrado) DO BEGIN i := i + 1; END; IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus i enc pos 10 3 4 11 7 1 2 5 F 6 8 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 Vector Ordenado pos := 1; CONST hallado := FALSE;
29 1. Búsqueda automática de información 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]) encontrado := FALSE; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 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 Ejemplo valor encontrado
30 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 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 Ejemplo valor encontrado
31 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 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 Ejemplo valor encontrado
32 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 F 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 Ejemplo valor encontrado
33 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 F 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 Ejemplo valor encontrado
34 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 F 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 Ejemplo valor encontrado
35 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 F 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 Ejemplo valor encontrado
36 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 F T 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 Ejemplo valor encontrado
37 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 F T 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 Ejemplo valor no encontrado
38 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 5 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 Ejemplo valor no encontrado
39 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 5 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 Ejemplo valor no encontrado
40 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 5 F 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 Ejemplo valor no encontrado
41 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 5 F 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 Ejemplo valor no encontrado
42 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 5 F 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 Ejemplo valor no encontrado
43 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 5 F 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 Ejemplo valor no encontrado
44 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 5 F 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 Ejemplo valor no encontrado
45 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 5 F T 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 Ejemplo valor no encontrado
46 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; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial V[1] V[2] V[3] V[4] V[5] V[6] V[7] n bus pos hal enc 1 2 3 4 7 10 11 5 F T 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 Búsqueda Secuencial con Centinela
47 Búsqueda Secuencial con Centinela 1. Búsqueda automática de información 2. Búsqueda en un vector Dos Comparaciones no Eficiente Si buscado en el vector Una comparación Un elemento más en el vector Centinela 2.1. Recorrido con Tratamiento Selectivo 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 Búsqueda Secuencial con Centinela
48 Búsqueda Secuencial con Centinela 1. Búsqueda automática de información 2. Búsqueda en un vector 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.1. Recorrido con Tratamiento Selectivo 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 Ejemplo valor encontrado
49 Ejemplo valor encontrado 1. Búsqueda automática de información i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 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 Ejemplo valor encontrado
50 Ejemplo valor encontrado 1. Búsqueda automática de información i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 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 Ejemplo valor encontrado
51 Ejemplo valor encontrado 1. Búsqueda automática de información i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 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 Ejemplo valor encontrado
52 Ejemplo valor encontrado 1. Búsqueda automática de información i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 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

51 Ejemplo valor encontrado
53 Ejemplo valor encontrado 1. Búsqueda automática de información i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 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

52 Ejemplo valor encontrado
54 Ejemplo valor encontrado 1. Búsqueda automática de información i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 T 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

53 Ejemplo valor encontrado
55 Ejemplo valor encontrado 1. Búsqueda automática de información i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 T 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

54 Ejemplo valor no encontrado
56 Ejemplo valor no encontrado i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 5 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

55 Ejemplo valor no encontrado
57 Ejemplo valor no encontrado i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 5 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

56 Ejemplo valor no encontrado
58 Ejemplo valor no encontrado i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 5 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

57 Ejemplo valor no encontrado
59 Ejemplo valor no encontrado i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 5 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

58 Ejemplo valor no encontrado
60 Ejemplo valor no encontrado i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 5 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

59 Ejemplo valor no encontrado
61 Ejemplo valor no encontrado i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 5 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

60 Ejemplo valor no encontrado
62 Ejemplo valor no encontrado i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 5 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

61 Ejemplo valor no encontrado
63 Ejemplo valor no encontrado i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 5 6 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

62 Ejemplo valor no encontrado
64 Ejemplo valor no encontrado i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 5 6 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

63 Ejemplo valor no encontrado
65 Ejemplo valor no encontrado i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 5 6 8 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

64 Ejemplo valor no encontrado
66 Ejemplo valor no encontrado i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 5 6 8 F 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

65 Ejemplo valor no encontrado
67 Ejemplo valor no encontrado i := 1; V[n+1] := buscado; WHILE (V[i] <> buscado) DO i := i +1; encontrado := (i < (n+1)); IF encontrado THEN pos := i; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] n bus i enc pos 10 3 4 11 7 1 2 5 6 8 F 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

66 Búsqueda Binaria o Dicotómica
68 Búsqueda Binaria o Dicotómica 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo Sólo vectores ordenados Vectores grandes Cada iteración divide por la mitad la zona de búsqueda 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 izda medio der 6. Medida de la Complejidad de un Algoritmo ? 6.1. Valores del mejor, peor y caso medio n/ n 6.2. Comparación de las estrategias de búsqueda

67 Búsqueda Binaria o Dicotómica
69 Búsqueda Binaria o Dicotómica 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo Sólo vectores ordenados Vectores grandes Cada iteración divide por la mitad la zona de búsqueda 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 izda medio der 6. Medida de la Complejidad de un Algoritmo >= 6.1. Valores del mejor, peor y caso medio n/ n 6.2. Comparación de las estrategias de búsqueda

68 Búsqueda Binaria o Dicotómica
70 Búsqueda Binaria o Dicotómica 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo Sólo vectores ordenados Vectores grandes Cada iteración divide por la mitad la zona de búsqueda 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 izda medio der 6. Medida de la Complejidad de un Algoritmo ? 6.1. Valores del mejor, peor y caso medio n/ n 6.2. Comparación de las estrategias de búsqueda

69 Búsqueda Binaria con comparación de igualdad
71 Búsqueda Binaria con comparación de igualdad 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] = buscado 2.1. Recorrido con Tratamiento Selectivo = 2.2. Vector Ordenado izda medio der 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

70 Búsqueda Binaria con comparación de igualdad
72 Búsqueda Binaria con comparación de igualdad 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] = buscado Si V[medio] > buscado 2.1. Recorrido con Tratamiento Selectivo = 2.2. Vector Ordenado izda medio der 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial > 4. Búsqueda Secuencial con Centinela izda medio der 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

71 Búsqueda Binaria con comparación de igualdad
73 Búsqueda Binaria con comparación de igualdad 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] = buscado Si V[medio] > buscado 2.1. Recorrido con Tratamiento Selectivo = 2.2. Vector Ordenado izda medio der 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial > 4. Búsqueda Secuencial con Centinela izda medio der 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

72 Búsqueda Binaria con comparación de igualdad
74 Búsqueda Binaria con comparación de igualdad 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] = buscado Si V[medio] > buscado Si V[medio] < buscado 2.1. Recorrido con Tratamiento Selectivo = 2.2. Vector Ordenado izda medio der 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial > 4. Búsqueda Secuencial con Centinela izda medio der 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo < 6.1. Valores del mejor, peor y caso medio izda medio der 6.2. Comparación de las estrategias de búsqueda

73 Búsqueda Binaria con comparación de igualdad
75 Búsqueda Binaria con comparación de igualdad 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] = buscado Si V[medio] > buscado Si V[medio] < buscado 2.1. Recorrido con Tratamiento Selectivo = 2.2. Vector Ordenado izda medio der 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial > 4. Búsqueda Secuencial con Centinela izda medio der 5. Búsqueda Binaria o Dicotómica 6. Medida de la Complejidad de un Algoritmo < 6.1. Valores del mejor, peor y caso medio izda medio der 6.2. Comparación de las estrategias de búsqueda

74 Búsqueda Binaria con comparación de igualdad
76 Búsqueda Binaria con comparación de igualdad 1. Búsqueda automática de información 2. Búsqueda en un vector CONST n = ...; VAR buscado: <tipo>; V: ARRAY [1..n] OF <tipo>; izda, der: 0..(n+1); pos, medio: 1..n; encontrado: BOOLEAN; 2.1. Recorrido con Tratamiento Selectivo 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

75 Búsqueda Binaria con comparación de igualdad
77 Búsqueda Binaria con comparación de igualdad 1. Búsqueda automática de información 2. Búsqueda en un vector izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 2.1. Recorrido con Tratamiento Selectivo 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

76 Ejemplo valor encontrado
78 izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 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

77 Ejemplo valor encontrado
79 izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 F 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

78 Ejemplo valor encontrado
80 izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 F 5 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

79 Ejemplo valor encontrado
81 izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 F 5 6 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

80 Ejemplo valor encontrado
82 izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 F 5 6 T 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

81 Ejemplo valor encontrado
83 izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 F 5 6 T 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

82 Ejemplo valor no encontrado
84 1. Búsqueda automática de información izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 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

83 Ejemplo valor no encontrado
85 1. Búsqueda automática de información izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 F 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

84 Ejemplo valor no encontrado
86 1. Búsqueda automática de información izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 F 5 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

85 Ejemplo valor no encontrado
87 1. Búsqueda automática de información izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 F 5 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

86 Ejemplo valor no encontrado
88 1. Búsqueda automática de información izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 F 5 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

87 Ejemplo valor no encontrado
89 1. Búsqueda automática de información izda := 1; der := n; encontrado := FALSE; WHILE (NOT encontrado) AND (izda <= der) DO BEGIN medio := (izda + der) div 2; encontrado := (V[medio] = buscado); IF (NOT encontrado) THEN IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio + 1 END; IF encontrado THEN pos := medio; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 F 5 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

88 Búsqueda Binaria Eliminar una condición de la iteración
90 Búsqueda Binaria 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo Eliminar una condición de la iteración buscado en izda Incluir la igualdad V[medio] <= buscado → erróneo V[medio] >= buscado → correcto 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

89 Búsqueda Binaria errónea
91 Búsqueda Binaria errónea 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] > buscado 2.1. Recorrido con Tratamiento Selectivo > 2.2. Vector Ordenado izda medio der 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

90 Búsqueda Binaria errónea
92 Búsqueda Binaria errónea 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] > buscado 2.1. Recorrido con Tratamiento Selectivo > 2.2. Vector Ordenado izda medio der 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

91 Búsqueda Binaria errónea
93 Búsqueda Binaria errónea 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] > buscado Si V[medio] <= buscado 2.1. Recorrido con Tratamiento Selectivo > 2.2. Vector Ordenado izda medio der 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 izda medio der 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

92 Búsqueda Binaria errónea
94 Búsqueda Binaria errónea 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] > buscado Si V[medio] <= buscado 2.1. Recorrido con Tratamiento Selectivo izda medio der > 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 izda medio der 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

93 Búsqueda Binaria errónea
95 Búsqueda Binaria errónea 1. Búsqueda automática de información 2. Búsqueda en un vector CONST n = ...; VAR buscado: <tipo>; V: ARRAY [1..n] OF <tipo>; izda, der: 0..(n+1); pos, medio: 1..n; encontrado: BOOLEAN; 2.1. Recorrido con Tratamiento Selectivo 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

94 Búsqueda Binaria errónea
96 Búsqueda Binaria errónea 1. Búsqueda automática de información izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] > buscado) THEN der := medio – 1 ELSE izda := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 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

95 Búsqueda Binaria errónea
97 Búsqueda Binaria errónea 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado izda medio der 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

96 Búsqueda Binaria errónea
98 Búsqueda Binaria errónea 1. Búsqueda automática de información 2. Búsqueda en un vector V[medio] > buscado (der := medio – 1) 2.1. Recorrido con Tratamiento Selectivo der medio 2.2. Vector Ordenado > > izda medio der 2.3. Concepto de Campo Clave izda ? ? ? 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

97 Búsqueda Binaria errónea
99 Búsqueda Binaria errónea 1. Búsqueda automática de información 2. Búsqueda en un vector V[medio] > buscado (der := medio – 1) 2.1. Recorrido con Tratamiento Selectivo der medio Fin 2.2. Vector Ordenado > > izda medio der 2.3. Concepto de Campo Clave izda ? ? ? 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

98 Búsqueda Binaria errónea
100 Búsqueda Binaria errónea 1. Búsqueda automática de información 2. Búsqueda en un vector V[medio] > buscado (der := medio – 1) 2.1. Recorrido con Tratamiento Selectivo der medio Fin 2.2. Vector Ordenado > > izda medio der 2.3. Concepto de Campo Clave izda ? ? ? 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[medio] <= buscado (izda := medio) 5. Búsqueda Binaria o Dicotómica medio der 6. Medida de la Complejidad de un Algoritmo <= 6.1. Valores del mejor, peor y caso medio izda 6.2. Comparación de las estrategias de búsqueda

99 Búsqueda Binaria errónea
101 Búsqueda Binaria errónea 1. Búsqueda automática de información 2. Búsqueda en un vector V[medio] > buscado (der := medio – 1) 2.1. Recorrido con Tratamiento Selectivo der medio Fin 2.2. Vector Ordenado > > izda medio der 2.3. Concepto de Campo Clave izda ? ? ? 3. Búsqueda Secuencial 4. Búsqueda Secuencial con Centinela V[medio] <= buscado (izda := medio) 5. Búsqueda Binaria o Dicotómica medio der Bucle Infinito 6. Medida de la Complejidad de un Algoritmo <= 6.1. Valores del mejor, peor y caso medio izda 6.2. Comparación de las estrategias de búsqueda

100 Búsqueda Binaria correcta
102 Búsqueda Binaria correcta 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] < buscado 2.1. Recorrido con Tratamiento Selectivo < 2.2. Vector Ordenado izda medio der 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

101 Búsqueda Binaria correcta
103 Búsqueda Binaria correcta 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] < buscado 2.1. Recorrido con Tratamiento Selectivo < 2.2. Vector Ordenado izda medio der 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

102 Búsqueda Binaria correcta
104 Búsqueda Binaria correcta 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] < buscado Si V[medio] >= buscado 2.1. Recorrido con Tratamiento Selectivo < 2.2. Vector Ordenado izda medio der 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 izda medio der 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

103 Búsqueda Binaria correcta
105 Búsqueda Binaria correcta 1. Búsqueda automática de información 2. Búsqueda en un vector Si V[medio] < buscado Si V[medio] >= buscado 2.1. Recorrido con Tratamiento Selectivo < 2.2. Vector Ordenado izda medio der 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 izda medio der 6.1. Valores del mejor, peor y caso medio 6.2. Comparación de las estrategias de búsqueda

104 Búsqueda Binaria correcta
106 Búsqueda Binaria correcta 1. Búsqueda automática de información 2. Búsqueda en un vector CONST n = ...; VAR buscado: <tipo>; V: ARRAY [1..n] OF <tipo>; izda, der: 0..(n+1); pos, medio: 1..n; encontrado: BOOLEAN; 2.1. Recorrido con Tratamiento Selectivo 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

105 Búsqueda Binaria correcta
107 Búsqueda Binaria correcta 1. Búsqueda automática de información izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 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

106 Ejemplo valor encontrado
108 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 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

107 Ejemplo valor encontrado
109 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 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

108 Ejemplo valor encontrado
110 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 5 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

109 Ejemplo valor encontrado
111 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 5 6 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

110 Ejemplo valor encontrado
112 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 5 6 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

111 Ejemplo valor encontrado
113 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 5 6 T 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

112 Ejemplo valor encontrado
114 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 5 6 T 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

113 Ejemplo valor no encontrado
115 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 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

114 Ejemplo valor no encontrado
116 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 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

115 Ejemplo valor no encontrado
117 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 5 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

116 Ejemplo valor no encontrado
118 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 5 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

117 Ejemplo valor no encontrado
119 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 5 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

118 Ejemplo valor no encontrado
120 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 5 F 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

119 Ejemplo valor no encontrado
121 izda := 1; der := n; WHILE (izda <> der) DO BEGIN medio := (izda + der) div 2; IF (V[medio] < buscado) THEN izda := medio + 1 ELSE der := medio END; encontrado := (V[izda] = buscado); IF encontrado THEN pos := izda; 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo 2.2. Vector Ordenado 2.3. Concepto de Campo Clave 3. Búsqueda Secuencial v[1] v[2] v[3] v[4] v[5] v[6] v[7] bus izd der med enc pos 1 2 3 4 7 10 11 6 5 F 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

120 Medida de la Complejidad de un Algoritmo
122 Medida de la Complejidad de un Algoritmo 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo Eficiencia de un Algoritmo Memoria necesaria Tiempo de ejecución Tamaño de la entrada Máquina utilizada Código fuente Número de ejecuciones instrucciones del algoritmo Instrucción Operación Elemental Tiempo constante 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

121 Valores del mejor, peor y caso medio
123 Valores del mejor, peor y caso medio 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo Número de Instrucciones Ejecutadas Comparaciones en las que interviene el vector Colocación de los datos Mejor caso Poca información Valor Medio de los casos Difícil de calcular Peor caso 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

122 Comparación de las Estrategias de Búsqueda
124 Comparación de las Estrategias de Búsqueda 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo Número de Comparaciones (C) Vector de N elementos Búsqueda Secuencial C = N Búsqueda Binaria C = log2 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

123 Búsqueda Secuencial Peor Caso C = N
125 Búsqueda Secuencial 1. Búsqueda automática de información 2. Búsqueda en un vector 2.1. Recorrido con Tratamiento Selectivo Peor Caso Buscado es el último elemento del vector Tantas comparaciones como elementos tiene el vector C = 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

124 Búsqueda Binaria Peor caso. Si N = 2C C = log2 N
126 Búsqueda Binaria 1. Búsqueda automática de información 2. Búsqueda en un vector Número de comparaciones Tamaño zona de búsqueda N 1 N / 2 2 N / 22 3 N / 23 ... C N / 2C 2.1. Recorrido con Tratamiento Selectivo Peor caso. Si N = 2C Después de C un elemento donde buscar C = log2 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


Descargar ppt "Algoritmos de Búsqueda"

Presentaciones similares


Anuncios Google