Comprovar si un arbre binari és simètric X86373


Statement
 

pdf   zip   tar

html

Heu de comprovar si un arbre binari d’enters és simètric respecte el seu centre, és a dir, és un mirall de si mateix.

El següent arbre compleix la propietat descrita (per veure la imatge cliqueu a la versió PDF):

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’un d’aquests dos textos:

L'arbre és simètric.
L'arbre no és simètric.

Observació

Cal fer servir la classe arbreBin que us donem.

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

tar cvf program.tar program.cpp

A l’enviar la solució escriviu una anotació ("Solució iterativa" o "Solució recursiva") segons el tipus de solució que hagueu fet.

Observeu que per compilar us donem el Makefile i el mòdul arbreBin.

Public test cases
  • Input

    11
     5 0
    -3 0
    -2 2
     6 0
     2 2
     6 0
    -3 0
     5 0
    -2 2
     2 2
     9 2
    

    Output

    [9]
     \__[2]
     |   \__[-2]
     |   |   \__[5]
     |   |   |   \__.
     |   |   |   \__.
     |   |   \__[-3]
     |   |       \__.
     |   |       \__.
     |   \__[6]
     |       \__.
     |       \__.
     \__[2]
         \__[6]
         |   \__.
         |   \__.
         \__[-2]
             \__[-3]
             |   \__.
             |   \__.
             \__[5]
                 \__.
                 \__.
    L'arbre és simètric
    
  • Input

    11
     5 0
    -3 0
    -2 2
     6 0
     2 2
     6 0
     3 0
     5 0
    -2 2
     2 2
     9 2
    

    Output

    [9]
     \__[2]
     |   \__[-2]
     |   |   \__[5]
     |   |   |   \__.
     |   |   |   \__.
     |   |   \__[3]
     |   |       \__.
     |   |       \__.
     |   \__[6]
     |       \__.
     |       \__.
     \__[2]
         \__[6]
         |   \__.
         |   \__.
         \__[-2]
             \__[-3]
             |   \__.
             |   \__.
             \__[5]
                 \__.
                 \__.
    L'arbre no és simètric.
    
  • Information
    Author
    Neus Català - Jordi Esteve
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make