SEDE CONCEPCIÓN TALCAHUANO
Métodos de Búsqueda
y Ordenamiento
Asignatura:
Análisis de Algoritmo
Integrantes:
Cristopher Bl...
2
INDICE
INTRODUCCIÓN........................................................................................................
3
Introducción
Un algoritmo de búsqueda es aquel que está diseñado para localizar un elemento con ciertas
propiedades dent...
4
Aritmética Modular
Cuando dividimos dos enteros tenemos una ecuación que se ve de la siguiente forma:
A / B = Q con resi...
5
Por ejemplo, un reloj con el 12 sustituido por un 0 sería el círculo para un módulo de 12.
Para encontrar el resultado d...
6
Función Truncamiento
Consiste en tomar algunos dígitos de la clave y formar con ellos una dirección. Este método es de
l...
7
Tipos de Busqueda
Búsqueda lineal
Consiste en recorrer y examinar cada uno de los elementos del arreglo hasta encontrar ...
8
Búsqueda Binaria
Consiste en reducir paulatinamente el ámbito de búsqueda a la mitad de los elementos, basándose
en comp...
9
Conclusión
Como métodos de búsqueda y ordenamiento hay varios, lo importante a la hora de
utilizarlos es saber cuál es e...
Próxima SlideShare
Cargando en…5
×

método de búsqueda Truncamiento

1.121 visualizaciones

Publicado el

Primer Informe

Publicado en: Tecnología
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
1.121
En SlideShare
0
De insertados
0
Número de insertados
146
Acciones
Compartido
0
Descargas
2
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

método de búsqueda Truncamiento

  1. 1. SEDE CONCEPCIÓN TALCAHUANO Métodos de Búsqueda y Ordenamiento Asignatura: Análisis de Algoritmo Integrantes: Cristopher Blum Gonzalo Medina Edison Sáez Echeverría Joel Salgado Medina Docente: Pilar Pardo H Fecha: 15/04/2014
  2. 2. 2 INDICE INTRODUCCIÓN.......................................................................................................................................3 ARITMÉTICA MODULAR.........................................................................................................................4 FUNCIÓN TRUNCAMIENTO ...................................................................................................................6 FUNCIÓN PLEGAMIENTO .....................................................................................................................6 TIPOS DE BUSQUEDA............................................................................................................................7 BÚSQUEDA LINEAL ........................................................................................................................................ 7 BÚSQUEDA BINARIA...................................................................................................................................... 8 CONCLUSIÓN...........................................................................................................................................9
  3. 3. 3 Introducción Un algoritmo de búsqueda es aquel que está diseñado para localizar un elemento con ciertas propiedades dentro de una estructura de datos, por ejemplo, ubicar el registro correspondiente a cierta persona en una base de datos, o el mejor movimiento en una partida de ajedrez. A continuación se explican algunos métodos de búsqueda y ordenamiento de claves en arreglos.
  4. 4. 4 Aritmética Modular Cuando dividimos dos enteros tenemos una ecuación que se ve de la siguiente forma: A / B = Q con residuo R A es el dividendo B es el divisor Q es el cociente R es el residuo Algunas veces, solo estamos interesados en el valor del residuo de la división de A entre B. Para estos casos existe un operador llamado operador modular (abreviado como mod). Usando las mismas A, B, Q y R anteriores, tendríamos A mod B = R Diremos esto como "A módulo B es congruente con R". Donde a B se le llama módulo. Por ejemplo, sabemos que: 13/5 = 2 con un residuo de 3 o 13 mod 5 = 3 Visualiza el módulo con relojes Observa lo que pasa cuando incrementamos números de uno en uno y luego los dividimos entre 3. 0/3=0 residuo 0 1/3=0 residuo 1 2/3=0 residuo 2 3/3=1 residuo 0 4/3=1 residuo 1 5/3=1 residuo 2 6/3=2 residuo 0 El residuo comienza en 0 e incrementa en 1 cada vez, hasta que el número alcanza uno menos el número entre el cual estamos dividiendo. Después de eso, la secuencia se repite. Al notar esto, podemos visualizar el operador módulo usando círculos. Escribimos 0 en la parte superior de un círculo y continuamos escribiendo números enteros en la dirección de las manecillas del reloj, 1, 2,... hasta uno menos que el módulo.
  5. 5. 5 Por ejemplo, un reloj con el 12 sustituido por un 0 sería el círculo para un módulo de 12. Para encontrar el resultado de A mod B =? podemos seguir estos pasos: 1. Construir este reloj de tamaño B 2. Comenzar en 0 y movernos alrededor del reloj en A pasos 3. Dondequiera que aterricemos es nuestra solución. (Si el número es positivo, damos el paso en sentido de las manecillas del reloj, si es negativo damos el paso en contra de las manecillas del reloj) Mitad del cuadrado: consiste en elevar al cuadrado la clave y coger las cifras centrales. Este método también presenta problemas de colisión: 123*123=15129 --> 51 136*136=18496 --> 84 730*730=532900 --> 29 301*301=90601 --> 06 625*625=390625 --> 06
  6. 6. 6 Función Truncamiento Consiste en tomar algunos dígitos de la clave y formar con ellos una dirección. Este método es de los más sencillos, pero es también de los que ofrecen menos uniformidad en la distribución de las claves. La elección de los dígitos es arbitraria. Podrían tomarse los dígitos de las posiciones impares o de las pares. Luego podría unírseles de izquierda a derecha o de derecha a izquierda. La suma de una unidad a los dígitos seleccionados es para obtener un valor entre 1 y 100. Por ejemplo, si un número de 7 cifras se debe ordenar en un arreglo de elementos, Se pueden tomar el segundo, el cuarto y el sexto para formar un nuevo número: 5700931 »> 703 3498610 »> 481 0056241 »> 064 9134720 »> 142 5174829 »> 142 • Ignora parte de la clave y se utiliza la parte restante directamente como índice (considerando campos no numéricos y sus códigos numéricos). • Si las claves, por ejemplo; son enteros de ocho dígitos y la tabla de transformación tiene mil posiciones, entonces el primero, segundo y quinto dígitos desde la derecha pueden formar la función de conversión. Ejemplo: 72588495 se convierte en 895. El truncamiento es un método muy rápido, pero falla para distribuir las claves de modo uniforme. Función Plegamiento Consiste en dividir la clave (dígito) en partes iguales. Las operaciones entre los dígitos (partes) puede ser por medio de suma, resta o multiplicación. Clave (K) Plegamiento (suma) Dirección 197452 19 | 74 | 52 145 280304 28 | 03 | 04 35 484001 48 | 40 | 01 89
  7. 7. 7 Tipos de Busqueda Búsqueda lineal Consiste en recorrer y examinar cada uno de los elementos del arreglo hasta encontrar el o los elementos buscados, o hasta que se han mirado todos los elementos. Este es el método de búsqueda más lento, pero si nuestra información se encuentra completamente desordenada es el único que nos podrá ayudar a encontrar el dato que buscamos.  MEJOR CASO: El algoritmo de búsqueda lineal termina tan pronto como encuentra el elemento buscado en el array. Si tenemos suerte, puede ser que la primera posición examinada contenga el elemento que buscamos, en cuyo caso el algoritmo informará que tuvo éxito después de una sola comparación. Por tanto, la complejidad en este caso será O (1).  PEOR CASO: Sucede cuando encontramos X en la última posición del array. Como se requieren n ejecuciones del bucle mientras, la cantidad de tiempo es proporcional a la longitud del array n, más un cierto tiempo para realizar las instrucciones del bucle mientras y para la llamada al método. Por lo tanto, la cantidad de tiempo es de la forma an + b (instrucciones del mientras * tamaño del arreglo + llamada al método) para ciertas constantes a y b, que representan el coste del bucle mientras y el costo de llamar el método respectivamente.  CASO MEDIO: Supongamos que cada elemento almacenado en el array es igualmente probable de ser buscado. La media puede calcularse tomando el tiempo total de encontrar todos los elementos y dividiéndolo por n: Ejemplo:
  8. 8. 8 Búsqueda Binaria Consiste en reducir paulatinamente el ámbito de búsqueda a la mitad de los elementos, basándose en comparar el elemento a buscar con el elemento que se encuentra en la mitad del intervalo y en base a esta comparación de los diferentes casos que pueden darse:  Si el elemento buscado es menor que el elemento medio, entonces sabemos que el elemento está en la mitad inferior de la tabla.  Si es mayor es porque el elemento está en la mitad superior.  Si es igual se finaliza con éxito la búsqueda ya que se ha encontrado el elemento. Este método puede utilizarse en vectores, matrices y árboles. Ejemplo (código):
  9. 9. 9 Conclusión Como métodos de búsqueda y ordenamiento hay varios, lo importante a la hora de utilizarlos es saber cuál es el más conveniente, por ejemplo, en arreglo de datos ordenados es más efectivo utilizar una búsqueda binaria para encontrar un dato que hacerlo de forma lineal. Es importante saber con qué tipo de arreglo se está trabajando para realizar la búsqueda más eficiente y rápida.

×