Algoritmos de Búsqueda TEMA XIII: Algoritmos de Búsqueda y Ordenación Programación I
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 2 ............. n/2 ..................... n 6.2. Comparación de las estrategias de búsqueda
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 2 ............. n/2 ..................... n 6.2. Comparación de las estrategias de búsqueda
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 2 ............. n/2 ..................... n 6.2. Comparación de las estrategias de búsqueda
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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