Universidad Diego Portales Facultad de Ingenier´ıa ´ tica Escuela de Infroma
Curso: Estructuras de Datos ´n Ayudante: Jaime Guzma
Tarea 3 Fecha de Entrega: Lunes 2 de noviembre del 2009. La tarea es individual, para efecto se sancionar´ a por copia dos trabajos ”parecidos”.
1
Problema
Problema: Se tiene un gran cantidad de numeros que se necesitan almacenar en dos estructuras de datos, En primera instancia seran conjuntos de 600, 1000 y 10000 numeros aleatorios. Las estructuras que se utilizaran seran una lista ligada simple y un arbol binario en las cuales se deberan insertar cada conjunto de numeros, con las propiedades respectivas de cada EDD, Para el cual se debera programar los siguientes metodos.
2
int insertNum( int ){}
boolean findNum( int ){}
void delNum( int ){}
Opciones del programa
El programa al ejecutarse por consola mostrara un menu con las siguientes opciones 1. Generar numeros, genera aleatoriamente 3 grupos de numeros con distintas cantidades.(600,1000,10000) 2. Vaciar grupos 3. Elegir un arbol para almacenar numeros 4. Elegir una lista ligada simple para almacenar numeros 5. Medicin, permite verificar que EDD de datos es mas eficiente 6. Vaciar todas las estructuras de almacenamiento 7. Salir
3
Consideraciones 1. Si usted desea programar en otro lenguaje que no se java ( C , C++) debera implemtar esta estructura y ejecucion para que realize la misma funcion. 2. Para manipular el stream de entrada usted podra utilizar cualquier recurso de lenguaje de programacion usado para manipularlo con su programa, por ejemplo Scannner(), BufferedReader(), scanf(), etc. 1
3. Para poder ejecutar el programa usted no debera realizar ningun tipo de interface grafica el programa solo debera correr por linea de comando. En su defecto debera compilar y ejecutarse por consola: En java , compilar javac En C , compilar con gcc En C++, compilar con g++
4
Opciones del Programa El programa debe compilar El programa debera tener un archivo README, explicando su ejecucion y funcionamiento El Programa debera correr mediante linea de comando El Codigo Fuente del programa debera estar documentando y bien identado.
5
Restricciones
Su Tarea deber´ a cumplir con los siguientes requerimientos Debe usar C, C++ ´ o Java para realizar Los nombres de archivo que se leen y escriben deben indicarse de manera relativa al directorio en que se ejecuta el programa. Esto significa que no debe obligar a que los archivos se encuentren en una direccion absoluta como C: M is Documentos M iT area, o /home/Yo/MiTarea. Codigo fuente DOCUMENTADO En el inicio del codigo fuente a nivel de comentario debera colocar:
– Nombre y apellido – RUT – Email
6
Recomendaciones Dise˜ ne su solucion antes de programar Realice pruebas de su codigo a medida que va programando Pruebe su entrega antes de enviar su trabajo
7
Evaluaci´ on
Su trabajo se evaluar´ a bajo el siguiente criterio: 20% Cumplimiento de las normas de entrega. 30% Construcci´ on de la Soluci´ on
Compilaci´ on Informe de Depuraci´ on (Debera incluirlo dentro del archivo README) 50% Prueba de ejecuci´ on. Funcionamiento de cada una de las opciones solicitadas. La salida de su programa, y los archivos que genere, deben seguir las normas indicadas.
2
8
Entrega
Como parte de su evaluaci´ on, usted debe enviar un archivo (.tar.gz, .zip, ´ o .rar) que contenga lo siguiente. Codigos fuentes (NO cuentan los binarios ) Archivo README Sin Archivos de prueba, el cor
La forma de entrega via mail ´ o blogs se establecer´a en ayudantia o c´atedras.
3