Animacion de algortimos de busquedas
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
888
On Slideshare
853
From Embeds
35
Number of Embeds
1

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 35

http://ctheran.blogspot.com 35

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 ymétodos utilizados por los algoritmos al momento de realizaralguna tarea. En este caso se mostrara la animación de 7algoritmos de ordenamientos. El lenguaje de programaciónutilizado para lograr la animación de dichos algoritmos fuepython.
  • 3. 1. Algoritmos de Búsquedas1. BUBBLE SORT.2. SELECTION SORT.3. INSERTION SORT.4. HEAP SORT.5. QUICK SORT.6. SHAKER SORT.7. MERGER SORT.
  • 4. 1. BUBBLE SORT.Funciona revisando cada elemento de la lista que va a serordenada con el siguiente, intercambiándolos de posición siestá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 SORTInicialmente se tiene un solo elemento. Cuando hay k elementosordenados de menor a mayor, se toma el elemento k+1 y secompara con todos los elementos ya ordenados, deteniéndosecuando se encuentra un elemento menor, en este punto seinserta el elemento k+1 debiendo desplazarse los demáselementos.
  • 7. 4. HEAP SORT.Este algoritmo consiste en almacenar todos los elementos delvector a ordenar en un montículo (heap), y luego extraer el nodoque queda como nodo raíz del montículo (cima) en sucesivasiteraciones obteniendo el conjunto ordenado.
  • 8. 5. QUICK SORT.Este método divide en dos partes a la lista a ordenar, y vadejando en la primera mitad los elementos menores y en la otralos mayores, luego, se llama recursivamente con la primeramitad repitiendo el proceso sucesivamente, hasta volverlo ahacer con las segundas mitades.
  • 9. 6. SHAKER SORT1. “de derecha a izquierda” se trasladan los elementos máspequeños hacia la parte izquierda del arreglo, almacenando enuna variable la posición del último elemento intercambiado.2. “de izquierda a derecha” se trasladan los elementos másgrandes hacia la parte derecha del arreglo, almacenando en otravariable la posición del último elemento intercambiado.
  • 10. 7. MERGE SORTEste 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. PygamePygame es un conjunto de módulos de Python diseñado paraescribir juegos.
  • 12. SimulacionesAnimations
  • 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