Taller II Arboles 2-2013 2

2
UNIVERSIDAD DE CARABOBO Facultad Experimental de Ciencias y Tecnología Departamento de Computación U.A. de Algoritmos y Programación CAO403: Programación II Taller #2 Período Lectivo 2-2013 (Valor: 30%) 1.INSTRUCCIONES Este taller de programación es una evaluación estrictamente individual; por lo tanto, durante la realización del mismo, no está permitido prestar o recibir ayuda de otro(s) estudiante(s). ESTA permitido el uso de códigos fuentes en digital hechos por usted para el desarrollo del taller. Pueden traer material bibliográfico (libros, guías, manuales, código impreso, etc.) para el desarrollo del taller de programación. El estudiante que infrinja alguna de las instrucciones anteriores será retirado del taller y se le considerará aplazado con la nota mínima (Artículo 34 de las Normas de Evaluación de los Aprendizajes). El taller tiene una duración estimada de tres (03) horas académicas. El ejercicio propuesto requiere la lectura de datos de la entrada estándar (standard input) y la escritura de resultados en la salida estándar (standard output). Para el desarrollo del taller debe utilizar el lenguaje de programación C++, junto con sus librerías estándar. Para la compilación de sus códigos fuentes, debe realizarla por medio de un archivo makefile, el cual deberá entregar junto con sus códigos fuentes. 2.ACTIVIDADES A REALIZAR Dado un árbol, la distancia entre dos nodos es la longitud del único caminos que los conecta, y el diámetro del árbol es la distancia máxima sobre todos los pares de nodos. El diámetro del árbol nulo es menos uno (-1) y el diámetro de un árbol que sea una hoja es cero (0). Desarrollar un algoritmo recursivo de coste lineal (con respecto al número de nodos del árbol) para hallar el diámetro de un árbol binario dado. El diámetro del árbol de la figura ‘a’ es 6, y el diámetro del árbol de la figura ‘b’ es 5 (a) (b) 2.1.FORMATO DE ENTRADA Cada caso de prueba consiste de tres líneas, la primera línea contiene un numero m entero que representa la cantidad de elementos del árbol que se va a construir, luego dos líneas que contendrán los recorridos en (preorden, inorden) o (postorden, inorden), para la construcción de los árboles binarios. Cada línea comenzará con una palabra que indica el tipo de recorrido (PREORDEN, INORDEN, POSTORDEN) seguida por m enteros que

description

diametro de un arbol binario

Transcript of Taller II Arboles 2-2013 2

  • UNIVERSIDAD DE CARABOBO Facultad Experimental de Ciencias y Tecnologa Departamento de Computacin U.A. de Algoritmos y Programacin CAO403: Programacin II

    Taller #2

    Perodo Lectivo 2-2013 (Valor: 30%)

    1.INSTRUCCIONES

    Este taller de programacin es una evaluacin estrictamente individual; por lo tanto, durante la realizacin del mismo, no est permitido prestar o recibir ayuda de otro(s) estudiante(s).

    ESTA permitido el uso de cdigos fuentes en digital hechos por usted para el desarrollo del taller. Pueden traer material bibliogrfico (libros, guas, manuales, cdigo impreso, etc.) para el desarrollo del

    taller de programacin. El estudiante que infrinja alguna de las instrucciones anteriores ser retirado del taller y se le considerar

    aplazado con la nota mnima (Artculo 34 de las Normas de Evaluacin de los Aprendizajes). El taller tiene una duracin estimada de tres (03) horas acadmicas.

    El ejercicio propuesto requiere la lectura de datos de la entrada estndar (standard input) y la escritura de resultados en la salida estndar (standard output).

    Para el desarrollo del taller debe utilizar el lenguaje de programacin C++, junto con sus libreras estndar. Para la compilacin de sus cdigos fuentes, debe realizarla por medio de un archivo makefile, el cual deber entregar junto con sus cdigos fuentes.

    2.ACTIVIDADES A REALIZAR

    Dado un rbol, la distancia entre dos nodos es la longitud del nico caminos que los conecta, y el dimetro del rbol es la distancia mxima sobre todos los pares de nodos. El dimetro del rbol nulo es menos uno (-1) y el dimetro de un rbol que sea una hoja es cero (0). Desarrollar un algoritmo recursivo de coste lineal (con respecto al nmero de nodos del rbol) para hallar el dimetro de un rbol binario dado. El dimetro del rbol de la figura a es 6, y el dimetro del rbol de la figura b es 5

    (a) (b)

    2.1.FORMATO DE ENTRADA

    Cada caso de prueba consiste de tres lneas, la primera lnea contiene un numero m entero que representa la cantidad de elementos del rbol que se va a construir, luego dos lneas que contendrn los recorridos en (preorden, inorden) o (postorden, inorden), para la construccin de los rboles binarios. Cada lnea comenzar con una palabra que indica el tipo de recorrido (PREORDEN, INORDEN, POSTORDEN) seguida por m enteros que

  • describen el recorrido correspondiente.

    Ejemplo.

    11 PREORDEN 10 5 2 1 4 3 7 6 8 9 11 INORDEN 1 2 3 4 5 6 7 8 9 10 11 7 INORDEN 1 2 3 4 5 6 7 POSTORDEN 2 1 5 4 7 6 3

    2.2.FORMATO DE SALIDA

    Por cada caso de prueba debe imprimir el dimetro del rbol correspondiente, segn el formato indicado en el ejemplo. Se deben respetar fielmente el formato del archivo de salida.

    Ejemplo.

    El diametro del arbol #1 es 6. El diametro del arbol #2 es 5. 3.OBSERVACIONES

    No debe mostrar por pantalla ningn tipo de mensaje al usuario para su interaccin con el programa, ninguna interfaz grfica desarrollada por usted, ser corregida positivamente o le aportara ningn punto extra para su calificacin final.

    El formato de salida debe ser respetado como se indica en el enunciado, de lo contrario acarrear con puntos menos en su nota final.

    Debe proveer un archivo makefile que permita compilar su taller, la falta del mismo conllevar a la no revisin de su taller.