La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Unidad 8 Métodos de Búsqueda Ingeniería en Sistemas Computacionales Estructura de Datos.

Presentaciones similares


Presentación del tema: "Unidad 8 Métodos de Búsqueda Ingeniería en Sistemas Computacionales Estructura de Datos."— Transcripción de la presentación:

1 Unidad 8 Métodos de Búsqueda Ingeniería en Sistemas Computacionales Estructura de Datos

2 La búsqueda es el proceso de localizar en una estructura (arreglo o archivo) a un elemento especifico que puede ser identificado por uno de sus atributos conocido normalmente como clave de acceso o llave. La búsqueda termina exitosamente cuando se localiza el elemento que contiene la llave buscada, o termina sin éxito, cuando se determina que no aparece ningún elemento con esa llave.

3 Tipos de búsqueda Secuencial –En arreglo desordenado –En arreglo ordenado Binaria Hash En árboles

4 Búsqueda Secuencial En arreglo desordenado: Procesa los elementos del arreglo de uno a uno hasta encontrar el elemento buscado o el final del arreglo. Cuantos elementos se deben visitar para encontrar: a)Elemento 5 b)Elemento 1 c)Elemento 0 d)Elemento Arreglo desordenado

5 Búsqueda Secuencial En arreglo ordenado: Procesa los elementos del arreglo de uno a uno hasta encontrar el elemento buscado o un elemento con clave mayor o el fin de archivo con lo cual determina que la búsqueda finalizo sin éxito. La búsqueda es más eficiente cuando los elementos del arreglo están ordenados.

6 Búsqueda secuencial en arreglo ordenado Cuantos elementos se deben visitar para encontrar: a)Elemento 5 b)Elemento 1 c)Elemento 0 d)Elemento Arreglo ordenado

7 Búsqueda secuencial // en arreglo desordenado Objeto busquedaSecuencial (Archivo a, Clave c){ abrir archivo a mientras (! eof(a)) { r= leer archivo a si (c == r.llave()) regresa r } regresa No encontrada } // en arreglo ordenado Objeto busquedaSecuencial (Archivo a, Clave c){ abrir archivo a mientras (! eof(a)) { // escribe el código } regresa No encontrada } Calcular la complejidad de tiempo

8 Búsqueda Binaria Requisitos para la búsqueda binaria son:Requisitos para la búsqueda binaria son: –El arreglo debe estar ordenado en un orden específico de acuerdo al valor de la llave. –Debe conocerse el número total de elementos que existen. Este método procesa la búsqueda de un elemento comparandolo con el elemento del centro del arreglo, si el elemento buscado es igual, termina la búsqueda; si es menor, se desecha la parte alta del arreglo, y repite el proceso con la primera mitad del arreglo; si es mayor, se desecha la parte baja del arreglo y repite el proceso con la parte alta del arreglo. Cuando no hay mas subdivisiones que comparar, el proceso termina con un fallo (no se encontró el elemento buscado).Este método procesa la búsqueda de un elemento comparandolo con el elemento del centro del arreglo, si el elemento buscado es igual, termina la búsqueda; si es menor, se desecha la parte alta del arreglo, y repite el proceso con la primera mitad del arreglo; si es mayor, se desecha la parte baja del arreglo y repite el proceso con la parte alta del arreglo. Cuando no hay mas subdivisiones que comparar, el proceso termina con un fallo (no se encontró el elemento buscado).

9 Búsqueda Binaria Proceso general Establecer los limites (inferior y superior) de los índices del arreglo Mientras (inferior < superior) –Comparar la llave buscada con la llave localizada al centro del arreglo. –Si la llave analizada corresponde a la buscada fin de búsqueda –Si la llave buscada es menor que la analizada ajustar los limites inferior y superior para desechar una parte alta del arreglo –Si la llave buscada es mayor que la analizada ajustar los limites inferior y superior para desechar una parte baja del arreglo El proceso de partir por la mitad el arreglo se repite hasta encontrar el registro o hasta que el tamaño de la lista restante sea cero, lo cual implica que el valor de la llave buscada no esta en la lista.

10 Búsqueda Binaria Buscar elemento 12 (LI+LS)/2 (0+8)/2 = 4 Compara 12 = Arreglo[4]? desecha la mitad del arreglo y repite el cálculo y la comparación Buscar elemento 12 (LI+LS)/2 (5+8)/2 = 6 Compara 12 = Arreglo[6]? termina la búsqueda con éxito, el elemento se encontró en la posición 6

11 Búsqueda Binaria Objeto busquedaBinaria (Arreglo a, Clave c){ limiteInferior =0 // primer índice del arreglo limiteSuperior = n // último índice del arreglo mientras (limiteInferior <= limiteSuperior){ centro = (limiteInferior + limiteSuperior) /2 si (c==a[centro]) regresa a[centro] sino { si (c>a[centro]) limiteInferior = centro +1 sino limiteSuperior = centro -1 } regresa No encontrado }


Descargar ppt "Unidad 8 Métodos de Búsqueda Ingeniería en Sistemas Computacionales Estructura de Datos."

Presentaciones similares


Anuncios Google