Pour calculer le facteur d'équilibre d'un nœud dans un arbre AVL, nous devons trouver la hauteur de son sous-arbre gauche et la hauteur de son sous-arbre droit. Ensuite, nous soustrayons la hauteur du sous-arbre droit de la hauteur de son sous-arbre gauche:Facteur d'équilibrage des nœuds dans l'arbre AVL
balancefactor = leftsubtreeheigh - rightsubtreeheight
Ma question est: Comment calculer la hauteur du sous-arbre gauche ou le sous-arbre droit?
Par exemple, dans la figure donnée la hauteur du sous-arbre gauche du noeud de racine 40 est 4 et la hauteur de la sous-arbre droit de 40 est égal à 2 de sorte que la différence des hauteurs est égal à 2.
Comment faire cela en C++? Je ne veux pas utiliser la récursivité parce que c'est très déroutant. L'utilisation d'une pile explicite au lieu de la récursivité est beaucoup plus compréhensible.
La figure a été supprimée à partir des serveurs Imgour.
Dupe de http://stackoverflow.com/questions/1979335/calculating-the-balance-factor-of-a-node-in-avl-tree a demandé hier par le même utilisateur. –