SlideShare ist ein Scribd-Unternehmen logo
1 von 13
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
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.
1. Algoritmos de Búsquedas


1.   BUBBLE SORT.
2.   SELECTION SORT.
3.   INSERTION SORT.
4.   HEAP SORT.
5.   QUICK SORT.
6.   SHAKER SORT.
7.   MERGER SORT.
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.
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
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.
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.
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.
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.
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.
Pygame

Pygame es un conjunto de módulos de Python diseñado para
escribir juegos.
Simulaciones

Animations
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

Weitere ähnliche Inhalte

Andere mochten auch (6)

My presentation all shortestpath
My presentation all shortestpathMy presentation all shortestpath
My presentation all shortestpath
 
My presentation all shortestpath
My presentation all shortestpathMy presentation all shortestpath
My presentation all shortestpath
 
My presentation all shortestpath
My presentation all shortestpathMy presentation all shortestpath
My presentation all shortestpath
 
02 preliminaries
02 preliminaries02 preliminaries
02 preliminaries
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 

Ähnlich wie Animacion de algortimos de busquedas

Quick Sort
Quick SortQuick Sort
Quick Sort
jo0eel
 
Estructura de dato unidad 5
Estructura de dato unidad 5Estructura de dato unidad 5
Estructura de dato unidad 5
lenithoz
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
lichic
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
Maiky Kobatakane
 
Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1
VivianaG
 

Ähnlich wie Animacion de algortimos de busquedas (20)

Informe insercion
Informe insercionInforme insercion
Informe insercion
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Algoritmo de ordenamientoDF
Algoritmo de ordenamientoDFAlgoritmo de ordenamientoDF
Algoritmo de ordenamientoDF
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datos
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
Estructura de dato unidad 5
Estructura de dato unidad 5Estructura de dato unidad 5
Estructura de dato unidad 5
 
S3-SCBC.pptx
S3-SCBC.pptxS3-SCBC.pptx
S3-SCBC.pptx
 
S3-SCBC.pptx
S3-SCBC.pptxS3-SCBC.pptx
S3-SCBC.pptx
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodos
 
Tema7.pdf
Tema7.pdfTema7.pdf
Tema7.pdf
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
 
Bus99
Bus99Bus99
Bus99
 
Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
datos de ordenamiento
datos de ordenamientodatos de ordenamiento
datos de ordenamiento
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
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.
  • 3. 1. Algoritmos de Búsquedas 1. 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 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