Bonjour,
Dans le cadre d'un développement php, je dois trouver la hauteur d'un arbre non binaire.
J'arrive à le parcourir et à trouver la hauteur de chaque noeuds et feuilles mais je ne sais pas où placer le return pour obtenir la hauteur de l'arbre total.
Voici mon algo :
ce code me donne le résultat suivant par l'arbre ci-dessous (donc résultat correct) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public function getTreeHeight($catId, $height) { $arrayChild = $this->getChildArray($catId); //tableau contenu les enfants du noeud catId echo 'noeud : '.$catId.'<br/>'; echo 'height : '.$height.'<br/><br/>'; if (count($arrayChild) != 0) { foreach ($arrayChild as $c) { $this->getTreeHeight($c->getId(), $height + 1); } } }
arbre :
résultat
noeud : -1
height : 0
noeud : 3
height : 1
noeud : 1
height : 2
noeud : 4
height : 3
noeud : 5
height : 4
noeud : 2
height : 3
noeud : 6
height : 4
noeud : 7
height : 4
noeud : 8
height : 5
noeud : 9
height : 3
noeud : 11
height : 4
noeud : 10
height : 3
si vous avez une idée, je suis preneur.
merci.
Partager