Вы находитесь на странице: 1из 2

Estructuras de Datos Avanzadas Tarea 2 Entrega: Miercoles 12 de septiembre 2012

Comparacin de Algoritmos de Ordenamiento o


El objetivo de esta tarea es determinar emp ricamente el desempeo de los algoritmos de ordenamiento n vistos en clase.

Instrucciones
Implementar cada uno de los algoritmos de ordenamiento vistos en clase menos seleccin directa y uno de su o eleccin que no hayamos cubierto (como Gnome sort, Bucket sort o Shell sort). La implementacin debe de o o ser genrica, independiente del tipo de datos a ordenar (tip: que la clase a ordenar implemente la interface e comparable). Adicionalmente, por conveniencia, escriba todos los algoritmos como miembros de una sola clase. Entregar en papel dos guras (A y B), una para el nmero de comparaciones, otra para el tiempo de ejeu cucin (medido en una escala apropiada como milisegundos). Enviar por correo a fernando.esponda@itam.mx o el cdigo utilizado. Mostrar en clase los algoritmos. o

Procedimiento
Datos Ordenados
1. Obtener el archivo movie titles2.txt de e-itam. Los datos ya se encuentran ordenados 2. Ejecutar cada uno de los algoritmos de ordenamiento vistos en clase para v 3 valores distintos de n. Escoga los valores de n de manera que se aprecie como cambia el desempeo del algoritmo con n el tamao de la entrada; es decir, escoga tamaos lo sucientemente distintos, e.g., n=100, n=1000, n n n=10,000. 3. Graque la curva de desempeo de cada algoritmo en la gura correspondiente (use A para el nmero n u de comparaciones y B para el tiempo)

Orden inverso
1. Obtener el archivo movie titles2.txt de e-itam. Invierta el orden original de los datos 2. Ejecutar cada uno de los algoritmos de ordenamiento vistos en clase para v 3 valores distintos de n. escoga los valores de n de manera que se aprecie como cambia el desempeo del algoritmo con n el tamao de la entrada; es decir, escoga tamaos lo sucientemente distintos, e.g., n=100, n=1000, n n n=10,000. 3. Graque la curva de desempeo de cada algoritmo en la gura correspondiente (use A para el nmero n u de comparaciones y B para el tiempo)

Orden Aleatorio
1. Obtener el archivo movie titles2.txt de e-itam 2. Ejecutar cada uno de los algoritmos de ordenamiento vistos en clase 30 veces para v 3 valores distintos de n. n es el nmero de datos a ordenar. Escoga los valores de n de manera que se aprecie como cambia el desempeo del algoritmo con el tamao de la entrada; es decir, escoga tamaos lo sucientemente n n n distintos, e.g., n=100, n=1000, n=10,000 Cada una de las 30 corridas para un algoritmo y un tamao n debe hacerse sobre un subconjunto n de los datos elegidos al azar. Para este n elabore una funcin que dado un conjunto m de o elementos y un entero n m regrese n elementos escogidos uniformemente al azar en el orden en que fueron escogidos Promediar los resultados para cada n y para cada algorimo (en total tendrn v valores para cada a algoritmo) 3. Graque la curva de desempeo de cada algoritmo en la gura correspondiente (use A para el nmero n u de comparaciones y B para el tiempo) Probar con: Archivo movie titles2.txt que esta en e-itam. Las pruebas deben hacerse sobre el campo de nombre de pel cula (el tercer campo) aunque los algoritmos deben funcionar con cualquiera de los tres (como se mencion anteriormente, deben ser genricos). El archivo se encuentra ordenado por este campo. o e

Вам также может понравиться