Vous savez, ces arbres binaires équilibrés. Je me pose une question sur l'équilibrage. Prenons un cas pratique:
nous avons l'arbre suivant:
8 / \ 3 9 / \ \ 2 5 10 / / \ 1 4 6
On veut y ajouter l'element 7, ce qui déséquilibre notre arbre:
8 / \ 3 9 / \ \ 2 5 10 / / \ 1 4 6 \ 7
C'est le noeud 8 qui est déséquilibré, et le dernier noeud ajouté est le 7. On a donc un problème gauche-droite. Selon l'algo que j'ai fait, on obtient cet arbre:
5 / \ 3 8 / \ / \ 2 4 6 9 / \ \ 1 7 10
Cet arbre me parait correctement équilibré, seulement ma prof obtient un arbre legerement différent, puisqu'elle inverse les noeuds 6 et 7, elle place 7 en fils gauche de 8 et 6 en fils gauche de 7. D'une part ça me parait plus compliqué, d'autre part les arbres obtenus sont quasi-identiques, je me demandais donc si mon algo est valable puisque j'obtiens un résultat différent.
Pour ceux que ça tente, voici mon algo vite fait: on a racine étant le noeud avec un facteur de balance déséquilibré.
Marsh Posté le 15-05-2003 à 00:34:05
Vous savez, ces arbres binaires équilibrés. Je me pose une question sur l'équilibrage.
Prenons un cas pratique:
nous avons l'arbre suivant:
8
/ \
3 9
/ \ \
2 5 10
/ / \
1 4 6
On veut y ajouter l'element 7, ce qui déséquilibre notre arbre:
8
/ \
3 9
/ \ \
2 5 10
/ / \
1 4 6
\
7
C'est le noeud 8 qui est déséquilibré, et le dernier noeud ajouté est le 7. On a donc un problème gauche-droite. Selon l'algo que j'ai fait, on obtient cet arbre:
5
/ \
3 8
/ \ / \
2 4 6 9
/ \ \
1 7 10
Cet arbre me parait correctement équilibré, seulement ma prof obtient un arbre legerement différent, puisqu'elle inverse les noeuds 6 et 7, elle place 7 en fils gauche de 8 et 6 en fils gauche de 7. D'une part ça me parait plus compliqué, d'autre part les arbres obtenus sont quasi-identiques, je me demandais donc si mon algo est valable puisque j'obtiens un résultat différent.
Pour ceux que ça tente, voici mon algo vite fait:
on a racine étant le noeud avec un facteur de balance déséquilibré.
(rho le paté !)
---------------
©2008 Bleuarff Corp.