Arbre Binaire Fonction De Hauteur

Je suis en train de travailler sur une fonction pour trouver la hauteur d'un arbre de recherche binaire. J'ai trouvé une méthode qui semble comme il devrait fonctionner, mais je reçois cette erreur, et je ne sais pas quel est le problème avec elle: une exception non Gérée à 0x00903417 dans PA5.exe: 0xC0000005: violation d'Accès lecture de l'emplacement 0x00000004.

Voici ma hauteur des fonctions...

template <class T>
int BST<T>::height()
{

    return displayHeight(mRootNode);    

}

template <class T>
int BST<T>::displayHeight(BST<T> *node)
{
    if (node = NULL)
    {
        return 0;
    }

    int left = displayHeight(node->mLeft);
    int right = displayHeight(node->mRight); 

    if (left > right)
        return 1 + left;
    else
        return 1 + right;
}

C'est la mise en œuvre dans la fonction principale...

 cout << endl << "height: " << tree.height();

Si je dois inclure quoi que ce soit d'autre, faites le moi savoir. Merci!

J'ai écrit le même code, mais la réponse que j'obtiens est un de plus que nécessaire de répondre. Donc, pour corriger que dans la condition null, il doit retourner -1 et pas 0.

OriginalL'auteur nym_kalahi | 2012-10-24