Je me demande simplement si quelqu'un pourrait clarifier la définition d'un arbre équilibré pour moi. J'ai que "un arbre est équilibré si chaque sous-arbre est équilibré et la hauteur des deux sous-arbres diffère d'au plus un.
Je m'excuse si c'est une question stupide, mais cette définition s'applique-t-elle à chaque nœud jusqu'aux feuilles d'un arbre ou uniquement aux sous-arbres gauche et droit immédiatement à la racine? Je suppose qu'une autre façon d'encadrer cela serait, est-il possible que les nœuds internes d'un arbre soient déséquilibrés et que l'arbre entier reste équilibré?
Réponses:
La contrainte est généralement appliquée de manière récursive à chaque sous-arbre. Autrement dit, l'arbre n'est équilibré que si:
Selon cela, l'arbre suivant est équilibré:
Le suivant n'est pas équilibré car les sous-arbres de C diffèrent de 2 par leur hauteur:
Cela dit, la contrainte spécifique du premier point dépend du type d'arbre. Celui répertorié ci-dessus est le type d' arbres AVL .
Les arbres rouge-noir , par exemple, imposent une contrainte plus douce.
la source
Il existe plusieurs façons de définir «équilibré». L'objectif principal est de conserver les profondeurs de tous les nœuds
O(log(n))
.Il me semble que la condition d'équilibre dont vous parliez concerne l' arbre AVL .
Voici la définition formelle de la condition d'équilibre de l'arbre AVL :
Question suivante, qu'est-ce que la « hauteur »?
Il y a un cas étrange mais courant:
Par exemple, l'enfant gauche de root est
null
:Deux autres exemples à déterminer:
Oui, un exemple d' arbre équilibré :
Non, pas un exemple d' arbre équilibré :
la source
Il n'y a aucune différence entre ces deux choses. Pensez-y.
Prenons une définition plus simple: «Un nombre positif est égal s'il est égal à zéro ou ce nombre moins deux est pair». Est-ce que cela dit que 8 est égal si 6 est pair? Ou est-ce que cela signifie que 8 est égal si 6, 4, 2 et 0 sont pairs?
Il n'y a aucune différence. S'il dit que 8 est même si 6 est pair, il dit également que 6 est même si 4 est pair. Et ainsi, il dit aussi 4 est même si 2 est pair. Et ainsi il dit que 2 est même si 0 est pair. Donc, s'il dit que 8 est même si 6 est pair, il dit (indirectement) que 8 est même si 6, 4, 2 et 0 sont pairs.
C'est la même chose ici. Tout sous-arbre indirect peut être trouvé par une chaîne de sous-arbres directs. Donc, même si cela ne s'applique directement qu'aux sous-arbres directs, il s'applique toujours indirectement à tous les sous-arbres (et donc à tous les nœuds).
la source
L'arbre équilibré est un arbre dont la hauteur est de l'ordre du log (nombre d'éléments dans l'arbre).
La définition donnée "un arbre est équilibré de chaque sous-arbre est équilibré et la hauteur des deux sous-arbres diffère d'au plus un" est suivie par les arbres AVL.
Étant donné que les arbres AVL sont équilibrés mais que tous les arbres équilibrés ne sont pas des arbres AVL, les arbres équilibrés ne contiennent pas cette définition et les nœuds internes peuvent y être déséquilibrés. Cependant, les arborescences AVL nécessitent que tous les nœuds internes soient équilibrés.
la source
le but de l'arbre équilibré est d'atteindre la feuille en un minimum de traversée (hauteur min). Le degré de l'arbre est le nombre de branches moins 1. Un arbre équilibré peut ne pas être binaire.
la source
la source