Donats dos BinTree, 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 BinTree són quasi coincidents. Feu servir la següent especificació:
bool quasi_coincidents (const BinTree<int> &a, const BinTree<int> &b)
/* Pre: cert */
/* 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
són quasi coincidents (només hi ha un node que no correspon, l’1); també ho són i
no són quasi coincidents (hi ha dos nodes que no corresponen, el 3 de i el 3 de ); tampoc ho són i
L’entrada són dos BinTree.
La sortida és un booleà indicant si els dos BinTree són quasi coincidents.
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 BinTree mitjançant
#include "BinTree.hh"