2. • 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.
3.
4.
5.
6.
7.
8. • 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.
9.
10.
11.
12.
13. • 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
14. • 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
15.
16.
17.
18.
19.
20. • 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.
21.
22.
23.
24.
25. • 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).
30. • 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.