Estructura de Datos Unidad - V: Métodos de Ordenamiento
Animacion de algortimos de busquedas
1. Animacion de Algoritmos de
Busqueda
Theory and Algorithms
Carlos Andres Theran Suarez
Program Mathematics and Scientific Computing
University of Puerto Rico
Carlos.theran@upr.edu
Diembre – 2011
Mayaguez-Puerto Rico
Dr Marko Schutz
2. Introduction (problem)
La animación de algoritmos nos permite visualizar el proceso y
métodos utilizados por los algoritmos al momento de realizar
alguna tarea. En este caso se mostrara la animación de 7
algoritmos de ordenamientos. El lenguaje de programación
utilizado para lograr la animación de dichos algoritmos fue
python.
4. 1. BUBBLE SORT.
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.
5. 2. SELECTION SORT
• Buscar el mínimo elemento de la lista
• Intercambiarlo con el primero
• Buscar el mínimo en el resto de la lista
• Intercambiarlo con el segundo
6. 3. INSERTION SORT
Inicialmente se tiene un solo elemento. 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, en este punto se
inserta el elemento k+1 debiendo desplazarse los demás
elementos.
7. 4. HEAP SORT.
Este algoritmo consiste en almacenar todos los elementos del
vector a ordenar en un montículo (heap), y luego extraer el nodo
que queda como nodo raíz del montículo (cima) en sucesivas
iteraciones obteniendo el conjunto ordenado.
8. 5. QUICK SORT.
Este método divide en dos partes a la lista a ordenar, y va
dejando en la primera mitad los elementos menores y en la otra
los mayores, luego, se llama recursivamente con la primera
mitad repitiendo el proceso sucesivamente, hasta volverlo a
hacer con las segundas mitades.
9. 6. SHAKER SORT
1. “de derecha a izquierda” se trasladan los elementos más
pequeños hacia la parte izquierda del arreglo, almacenando en
una variable la posición del último elemento intercambiado.
2. “de izquierda a derecha” se trasladan los elementos más
grandes hacia la parte derecha del arreglo, almacenando en otra
variable la posición del último elemento intercambiado.
10. 7. MERGE SORT
Este algoritmo trabaja de la siguiente forma.
• Dividir la lista desordenada en dos sublistas de aproximadamente la mitad
del tamaño.
• Ordenar cada sublista recursivamente aplicando el ordenamiento por
mezcla.
• Mezclar las dos sublistas en una sola lista ordenada.
11. Pygame
Pygame es un conjunto de módulos de Python diseñado para
escribir juegos.
13. Referencias
[1] C++ Clases and Data Structure, Jeffrey S. Childs. 2008 Ed.
Prentice hall pag. 345,351.
[2] Python Para Todos, Raul Gonzales Duque,
[3] http://www.pygame.org/wiki/tutorials
[4] http://www.sorting-algorithms.com/merge-sort