34
Efraín Andrés Aldana Trillos Emerson Pulido Noy Andrés Edgardo Ortiz Jhoam Morales

MÉTODOS DE ORDENAMIENTO Y BUSQUEDA

Embed Size (px)

Citation preview

Page 1: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA

Efraín Andrés Aldana TrillosEmerson Pulido NoyAndrés Edgardo OrtizJhoam Morales

Page 2: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA

Método burbuja• es un sencillo algoritmo de ordenamiento. Funciona

revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada.

• También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar.

Page 3: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 4: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 5: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 6: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 7: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 8: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA

Método Shell• El ordenamiento Shell es un algoritmo de

ordenamiento Su implementación original, requiere O(n2) comparaciones e intercambios en el peor caso produce una implementación con un rendimiento de O(n log2 n) en el peor caso. Esto es mejor que las O(n2) comparaciones requeridas por algoritmos simples pero peor que el óptimo O(n log n). Aunque es fácil desarrollar un sentido intuitivo de cómo funciona este algoritmo, es muy difícil analizar su tiempo de ejecución.

Page 9: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 10: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 11: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 12: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 13: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA

Método quicksort• El ordenamiento rápido es un algoritmo creado

por el científico británico en computación C. A. R. Hoare, basado en la técnica de divide y vencerás, que permite, en promedio, ordenar n elementos en un tiempo proporcional a n log n

Page 14: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA

• Elegir un elemento de la lista de elementos a ordenar, al que llamaremos pivote.

• Resituar los demás elementos de la lista a cada lado del pivote, de manera que a un lado queden todos los menores que él, y al otro los mayores. Los elementos iguales al pivote pueden ser colocados tanto a su derecha como a su izquierda, dependiendo de la implementación deseada. En este momento, el pivote ocupa exactamente el lugar que le corresponderá en la lista ordenada.

• La lista queda separada en dos sublistas, una formada por los elementos a la izquierda del pivote, y otra por los elementos a su derecha.

• Repetir este proceso de forma recursiva para cada sublista mientras éstas contengan más de un elemento. Una vez terminado este proceso todos los elementos estarán ordenados

Page 15: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 16: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 17: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 18: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 19: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 20: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA

Búsqueda binaria• 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.

• La variante más simple del problema es la búsqueda de un número en un vector.

Page 21: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 22: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 23: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 24: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 25: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA

Método de ordenamiento selección • El método de ordenamiento por selección en el

caso de tener que ordenar un vector de enteros, esta mejora no es muy sustancial, pero cuando hay que ordenar un vector de estructuras más complejas, la operación intercambiar() sería más costosa en este caso. Este algoritmo realiza muchas menos operaciones intercambiar()que el de la burbuja, por lo que lo mejora en algo. Si la línea comentada con (!) se sustituyera por intercambiar(lista[i], lista[j]) tendríamos una versión del algoritmo de la burbuja (naturalmente eliminando el orden intercambiar del final).

Page 26: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 27: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 28: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 29: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 30: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA

Método de inserción • El ordenamiento por

inserción Requiere O(n²) operaciones para ordenar una lista de n elementos.

• Inicialmente se tiene un solo elemento, que obviamente es un conjunto ordenado. Después, cuando hay k elementos ordenados de menor a mayor, se toma el elemento k+1 y se compara con todos los elementos ya ordenados, deteniéndose cuando se encuentra un elemento menor (todos los elementos mayores han sido desplazados una posición a la derecha) o cuando ya no se encuentran elementos (todos los elementos fueron desplazados y este es el más pequeño). En este punto se inserta el elemento k+1 debiendo desplazarse los demás elementos.

Page 31: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 32: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 33: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
Page 34: MÉTODOS DE ORDENAMIENTO Y BUSQUEDA