Existe-t-il une définition formelle de la hauteur moyenne d'un arbre binaire?
J'ai une question de didacticiel sur la recherche de la hauteur moyenne d'un arbre binaire en utilisant les deux méthodes suivantes:
La solution naturelle pourrait être de prendre la longueur moyenne de tous les chemins possibles de la racine à une feuille, c'est-à-dire
.
Une autre option consiste à le définir récursivement, c'est-à-dire que la hauteur moyenne d'un nœud est la moyenne sur les hauteurs moyennes des sous-arbres plus un, c'est-à-dire
avec pour leafs et pour les emplacements vides.l avh 2 ( _ ) = 0
Sur la base de ma compréhension actuelle, par exemple la hauteur moyenne de l'arbre
1
/ \
2 3
/
4
is par la deuxième méthode, qui utilise la récursivité.
Cependant, je ne comprends toujours pas comment faire la première. n'est pas correct.
la source
Réponses:
Il n'y a aucune raison de croire que les deux définitions décrivent la même mesure. Vous pouvez également écrire manière récursive:avh1
avec pour les feuilles . Si vous ne pensez pas que ce soit la même chose, dépliez la définition de sur le côté droit ou effectuez une preuve d'induction.l avh 1avh1(l)=0 l avh1
Nous voyons maintenant que fonctionne assez différemment de . Alors que pèse les hauteurs récursives d'un enfant de nœuds aussi ( en ajoutant et en divisant par deux), les soupèse en fonction du nombre de feuilles qu'ils contiennent. Ils sont donc les mêmes (modulo l'ancre) pour les arbres à feuilles équilibrées, c'est-à-dire équilibrés dans le sens où les arbres frères ont autant de feuilles. Si vous simplifiez la forme récursive de avec cela apparaît immédiatement. Sur les arbres déséquilibrés, cependant, ils sont différents.avh 2 avh 2 avh 1 avh 1 lv ( l ) = lv ( r )avh1 avh2 avh2 avh1 avh1 lv(l)=lv(r)
Vos calculs sont en effet corrects (compte tenu de votre définition); notez que l'exemple d'arbre n'est pas équilibré en feuilles.
la source
Edit: Jeffe fait un bon point dans son commentaire ci-dessus. Vous devriez probablement lire «correct vs incorrect» dans la réponse suivante comme «pratique / cohérent vs incohérent».
Il semble que votre deuxième calcul soit incorrect. Soit la hauteur d'un sous-arbre avec un seul nœud (c'est-à-dire une feuille) égale à 0. Ensuite, la hauteur de la racine du sous-arbre à:
Je pense que vous faites correctement le premier calcul, et 1,5 est la bonne réponse.
la source