Estructura de Datos y Algoritmos
1er. Sem 2003
Tarea 2: Quicksort
A través de esta tarea usted determinará algunas estadísticas para el tiempo de ejecución del algoritmo Quicksort.
Desarrolle el programa quicksortTime, el cual obtendrá el valor promedio, valor máximo y mínimo para ordenar un arreglo de datos aleatorios.
Sintaxis: quicksortTime <tamaño máximo>
Como resultado quicksortTime arrojará un gráfico que muestre los tiempos promedio - teórico y experimental -, máximo y mínimo tomado para ordenar n datos; con n variando desde 10 a al menos "tamaño máximo". El valor promedio debe tener un intervalo de confianza ± 10% del valor promedio y con un nivel de confianza del 95%. Se recomienda tomar valores para n = 10, 20, 50, 100, 200, 500, 1000, .. M, donde M es el menor entero mayor o igual a N. En el mismo gráfico usted debe mostrar los valores máximo y mínimo tomados para ordenar el arreglo de n datos. En total usted presentará cuatro curvas en un solo gráfico.
El arreglo se debe almacenar en la zona de memoria dinámica del sistema. En otras palabras, no es aceptable definir un valor límite para "tamaño máximo". Equivalentemente, no es aceptable definir una estructura estática mayor que la requerida para un valor dado de "tamaño máximo".
Construya el archivo de comandos para gnuplot desde su programa y también desde él invoque la ejecución de gnuplot para desplegar su gráfico.
Esta tarea será corregida en aragorn.elo.utfm.cl
¿Qué entregar? Complete lo requerido según las instrucciones generales para la entrega de tareas.
Recomendaciones
Repase intervalo
de confianza para el promedio.
Consulte los llamados gettimeofday, system, gnuplot, malloc, free, sizeof(),
rand, y srand.