Algoritmos de Búsqueda

Slides:



Advertisements
Presentaciones similares
Capítulo 2 Algoritmos.
Advertisements

ESTRUCTURA DE DATOS Unidad 05 ALGORITMOS DE BUSQUEDA.
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Sesión 13 Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
SENTENCIAS SECUENCIALES
Unidad 8 Métodos de Búsqueda
6 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática Universidad.
ALGORITMOS DE ORDENAMIENTO
Type tipo_bf = ; tipo_dato = word; tipo_puntero = ^tipo_nodo; tipo_nodo = record dato: tipo_dato; izquierdo, derecho: tipo_puntero; bf: tipo_bf;
Diseño y análisis de algoritmos
Paricial IV Ing. Esmeralda Elizabeth Rodríguez Rodríguez
Seminario de Actualización - Excel Avanzado y Macros
Estructuras de Control
Curso de Programación 1 Plan 97
Módulo 5: Estructuras de Decisión y Bucles
Bloque 2: Divide y Vencerás
Unidad 4: Análisis de algoritmos (parte II)
7 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática Universidad.
6 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez / Pablo Moreno Ger Facultad.
PROGRAMACION DE ESTRUCTURAS DE DATOS
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Teoría de lenguajes y compiladores

Solución de problemas por búsqueda inteligente
Biblioteca Universitaria de Córdoba
C lase 10 COMPUTACION /17/2014Computacion - Fac. Ingeniería2  Ademas de los ya vistos (tipos simples), puede usarse como parámetros variables.
Ordenación, Clasificación
Estructuras de Control
Algoritmos de ordenación
Material de apoyo Unidad 8 Estructura de datos
Material de apoyo Unidad 1 Estructura de datos
1 Concurrencia Procesos y Programas. 2 Establecer Comunicación entre procesos (memoria común)
Análisis de Algoritmos
7.  El TDA Diccionario.
Introducción al análisis de algoritmos
Algoritmos.
Ordenación y Búsquedas1UVM Ordenación y Búsqueda.
Conversión cadena a número

Estructuras de Datos Arreglos.
Búsqueda. Búsqueda Secuencial Es el método de búsqueda más sencillo En un arreglo o lista ligada consiste en ir visitando cada uno de sus elementos y.
COMPUTACION 2009 Clase 6 Clase 7.
Algoritmos de búsqueda
BUSQUEDA SECUENCIAL Consiste en revisar elemento tras elemento hasta encontrar el dato buscado, o llegar al final del conjunto de datos disponibles. La.
Métodos de búsqueda Unidad 6.
Arboles M.C. José Andrés Vázquez FCC/BUAP
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Programación I Arreglos II- Matrices.
Ordenación y Búsqueda.
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 3: Análisis de algoritmos (parte I)
Teoría – Alejandro Gonzalez
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Programación I Arreglos. Los elementos de un arreglo son todos del mismo tipo de dato (todos integer o real o char o registros o aún arreglos)
Tema 8: Tipos de Datos Estructurados I
SIG. LAURA VELAZQUEZ MORELOS. Hace referencia a un refrán que implica resolver un problema difícil, dividiéndolo en partes más simples tantas veces como.
Algoritmos de Ordenamiento y Complejidad
Unidad 6: Árboles.
© Manuel ColladoAWK-1 Herramientas Grep y AWK Grep: Globally search for Reg. Expr. and Print (UNIX - editor “ed” - g/re/ p) AWK: Aho, Weinberger.
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 2: Divide y Vencerás Unidad 1: Nociones básicas.
Sesión 2. Este algoritmo ordena un arreglo de forma ascendente o descendente comparando la casilla de arriba con la casilla consecutiva de abajo, utiliza.
Teoría de lenguajes y compiladores
Diseño y análisis de algoritmos Análisis de Algoritmos II.
METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León
Los principales servicios básicos de internet: World Wide Web, Correo Electrónico, Conversaciones en línea y grupos de conversación en la solución de.
MIA - Grupo 5 Unidad 2.
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
ESTRUCTURAS DE DATOS “Conceptualización de estructuras de datos” Por: Eduardo Robayo.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA COORDINACIÓN DE MATERIAS PROPEDÉUTICAS INGENIERÍA EN SISTEMAS ENERGÉTICOS SUSTENTABLES.
Transcripción de la presentación:

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