Recorregut en amplada d'un arbre binari X50159


Statement
 

pdf   zip   tar

html

Heu d’implementar el recorregut en amplada d’un arbre binari. Com a entrada hi haurà la mida de l’arbre i els nodes de l’arbre binari en postordre. Com a sortida es mostrarà l’estructura de l’arbre binari seguit del recorregut en amplada (o per nivells) del mateix.

Entrada

Com a entrada hi haurà la mida de l’arbre i els nodes de l’arbre binari en postordre. Per cada node s’indica el seu valor i el nombre de fills (2 fills, -1 indica un fill esquerra, 1 indica un fill dret o 0 fills). Podeu utilitzar l’operador >> definit dins la classe arbreBin per llegir l’arbre binari.

Sortida

Com a sortida es mostrarà l’estructura de l’arbre binari (podeu utilitzar l’operador << definit dins la classe arbreBin) seguit d’una línia en blanc i del recorregut en amplada (o per nivells) del mateix precedit per text "Amplada: ".

Observació

Cal fer servir la classe arbreBin que us donem. Us recomanem que guardeu el recorregut en amplada en una list i desprès useu l’operador << definit dins el mòdul listIOint per mostrar la llista a la sortida.

Heu d’enviar el fitxer amb la solució program.cpp comprimida en un fitxer .tar:

tar cvf program.tar program.cpp

Observeu que per compilar us donem el Makefile i els mòduls arbreBin i ListIOint.

Public test cases
  • Input

    7
    2 0
    6 0
    7 0
    4 2
    5 0
    3 2
    1 2
    

    Output

    [1]
     \__[3]
     |   \__[5]
     |   |   \__.
     |   |   \__.
     |   \__[4]
     |       \__[7]
     |       |   \__.
     |       |   \__.
     |       \__[6]
     |           \__.
     |           \__.
     \__[2]
         \__.
         \__.
    
    Amplada: [1,2,3,4,5,6,7]
    
  • Input

    7
    2 0
    7 0
    4 1
    6 0
    5 -1
    3 2
    1 2
    

    Output

    [1]
     \__[3]
     |   \__[5]
     |   |   \__.
     |   |   \__[6]
     |   |       \__.
     |   |       \__.
     |   \__[4]
     |       \__[7]
     |       |   \__.
     |       |   \__.
     |       \__.
     \__[2]
         \__.
         \__.
    
    Amplada: [1,2,3,4,5,7,6]
    
  • Information
    Author
    Neus Català - Jordi Esteve
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make