Title: Algoritmos de Bsqueda
1Algoritmos de Búsqueda
- TEMA XIII Algoritmos de Búsqueda y Ordenación
- Programación I
2Indice
4
- 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
3Búsqueda Automática de Información
5
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
4Búsqueda en un Vector
6
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
5Recorrido de un Vector con Tratamiento Selectivo
7
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 lttipogt
- V ARRAY 1..n OF lttipogt
- i 1..n
- BEGIN
- FOR i1 TO n DO
- IF Vi buscado THEN
- ( procesar (vi) )
-
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
6Vector Ordenado
8
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 gt 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
7Concepto de Campo Clave
9
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
8Búsqueda Secuencial
10
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
9Búsqueda Secuencial
11
1. Búsqueda automática de información
- CONST
- n
- VAR
- buscado lttipogt
- V ARRAY 1..n OF lttipogt
- i 1..(n1)
- pos 1..n
- encontrado BOOLEAN
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
10Ejemplo valor encontrado
12
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
11Ejemplo valor encontrado
13
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
12Ejemplo valor encontrado
14
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
13Ejemplo valor encontrado
15
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
14Ejemplo valor encontrado
16
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
15Ejemplo valor encontrado
17
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
16Ejemplo valor no encontrado
18
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
17Ejemplo valor no encontrado
19
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
18Ejemplo valor no encontrado
20
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
19Ejemplo valor no encontrado
21
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
20Ejemplo valor no encontrado
22
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
21Ejemplo valor no encontrado
23
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
22Ejemplo valor no encontrado
24
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
23Ejemplo valor no encontrado
25
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
24Ejemplo valor no encontrado
26
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
25Ejemplo valor no encontrado
27
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
26Ejemplo valor no encontrado
28
-
- i 1
- encontrado (buscado Vi)
- WHILE (i lt n) AND (NOT encontrado) DO
- BEGIN
- i i 1
- encontrado (buscado Vi)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
27Vector Ordenado
29
- CONST
- n ...
- VAR
- buscado lttipogt
- V ARRAY 1..n OF lttipogt
- pos 1..(n1)
- encontrado, hallado BOOLEAN
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN
- encontrado (buscado Vpos)
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
28Ejemplo valor encontrado
30
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
29Ejemplo valor encontrado
31
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
30Ejemplo valor encontrado
32
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
31Ejemplo valor encontrado
33
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
32Ejemplo valor encontrado
34
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
33Ejemplo valor encontrado
35
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
34Ejemplo valor encontrado
36
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
35Ejemplo valor encontrado
37
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
36Ejemplo valor no encontrado
38
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
37Ejemplo valor no encontrado
39
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
38Ejemplo valor no encontrado
40
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
39Ejemplo valor no encontrado
41
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
40Ejemplo valor no encontrado
42
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
41Ejemplo valor no encontrado
43
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
42Ejemplo valor no encontrado
44
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
43Ejemplo valor no encontrado
45
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
44Ejemplo valor no encontrado
46
- pos 1
- hallado FALSE
- WHILE (pos lt n) AND NOT hallado DO
- IF buscado lt Vpos THEN
- hallado TRUE
- ELSE
- pos pos 1
- IF (pos lt n) THEN encontrado (buscado
Vpos) - 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
45Búsqueda Secuencialcon Centinela
47
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
46Búsqueda Secuencialcon Centinela
48
1. Búsqueda automática de información
2. Búsqueda en un vector
- CONST
- n ...
- VAR
- buscado lttipogt
- V ARRAY 1..(n1) OF lttipogt
- i 1..(n1)
- pos 1..n
- encontrado BOOLEAN
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
47Ejemplo valor encontrado
49
1. Búsqueda automática de información
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
48Ejemplo valor encontrado
50
1. Búsqueda automática de información
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
49Ejemplo valor encontrado
51
1. Búsqueda automática de información
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
50Ejemplo valor encontrado
52
1. Búsqueda automática de información
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
51Ejemplo valor encontrado
53
1. Búsqueda automática de información
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
52Ejemplo valor encontrado
54
1. Búsqueda automática de información
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
53Ejemplo valor encontrado
55
1. Búsqueda automática de información
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
54Ejemplo valor no encontrado
56
-
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
55Ejemplo valor no encontrado
57
-
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
56Ejemplo valor no encontrado
58
-
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
57Ejemplo valor no encontrado
59
-
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
58Ejemplo valor no encontrado
60
-
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
59Ejemplo valor no encontrado
61
-
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
60Ejemplo valor no encontrado
62
-
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
61Ejemplo valor no encontrado
63
-
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
62Ejemplo valor no encontrado
64
-
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
63Ejemplo valor no encontrado
65
-
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
64Ejemplo valor no encontrado
66
-
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
65Ejemplo valor no encontrado
67
-
- i 1
- Vn1 buscado
- WHILE (Vi ltgt buscado) DO
- i i 1
- encontrado (i lt (n1))
- 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
5. Búsqueda Binaria o Dicotómica
6. Medida de la Complejidad de un
Algoritmo
6.1. Valores del mejor, peor y
caso medio
6.2. Comparación de las
estrategias de búsqueda
66Búsqueda Binaria o Dicotómica
68
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