Arbres quasi coincidents X64411


Statement
 

pdf   zip   tar

html

Donats dos arbres binaris, a, b d’elements de qualsevol tipus, diem que són quasi coincidents si per a tot node d’a existeix un node de b a la mateixa posició i viceversa, tret d’un node com a màxim.

Volem una operació que ens permeti saber si dos arbres són quasi coincidents. Feu servir la següent especificació:

bool quasi_coincidents (Arbre<int> &a, Arbre<int> &b) /* Pre: a=A, b=B */ /* Post: el resultat indica si A i B son quasi coincidents */

Exemple: considereu els quatre arbres següents

a = 7 b = 4 c = 10 d = -4 / \ / \ / \ / \ 6 -2 9 6 -1 -2 6 -2 / \ / \ / \ / \ / / \ / \ / -2 -3 -1 3 -1 3 8 -3 -2 -1 3 -1 3 8 / 1
  • (a,b) són quasi coincidents (només hi ha un node que no correspon, l’1); també ho són (a,c) i (a,d)
  • (c,d) no són quasi coincidents (hi ha dos nodes que no corresponen, el 3 de c i el 3 de d); tampoc ho són (b,c) i (b,d)

Entrada

L’entrada són dos arbres.

Sortida

La sortida és un booleà indicant si els dos arbres són quasi coincidents.

Observació

Només s’ha d’enviar un fitxer que contengui la funció amb la capçalera de l’enunciat i qualsevol altra funció auxiliar que cregueu convenient, sense la funció main. Afegiu-hi també l’include de la classe Arbre mitjançant


#include "Arbre.hh"

Information
Author
Alberto Moreno (adaptador), Ramon Ferrer i Cancho (responsable)
Language
Catalan
Official solutions
C++
User solutions
C++