Ajouter un commentaire

fredericmazue

Quote:
Telle que je vois les choses un arbre binaire équilibré total de profondeur
n a son niveau n-1 complètement rempli.

Alors il n'est pas équilibré.

Quote:
Dans son cas précis il veut un maximum de fils droit par niveau

Je ne vois pas d'où tu sors ça.

Quote:
Bon si bien sur il n'a pas suffisamment d élément pour remplir le
dernier niveau il aura donc un arbre d'éequilibre partiel

:lol:
Un équilibre partiel n'est pas un équilibre ;)

Wikipedia c'est vraiment très bien, mais parfois on y trouve des choses bizarres.
Selon moi un arbre est équilibré si toutes ses feuilles sont à un même niveau de profondeur. Si ce n'est pas la cas, il n'est pas équilibré. Le partiellement équilibré n'existant pas à ma connaissance :)
Et tu peux voir ça aussi à Wikipedia (anglais)
http://en.wikipedia.org/wiki/B-tree
J'en cite un bout
Quote:
A B-tree is kept balanced by requiring that all leaf nodes are at the same depth. This depth will increase slowly as elements are added to the tree, but an increase in the overall depth is infrequent, and results in all leaf nodes being one more hop further removed from the root.

Comme tu vois le niveau de profondeur des feuilles est requis, sinon tu n'as pas un arbre équilibré.
Quote:
Ou alors je me suis rendu compt que ce qu'il cherchait
à obtenir un arbre complet.

Ben oui, un arbre binaire tout simplement

Quote:
Les deux ont un rendu assez similaire je crois.

Non. Enfin ça dépend de que tu entends par similaire :)
Quote:
Posté le: Mer Juin 06, 2007 7:35 pm Sujet du message:

--------------------------------------------------------------------------------

Ou alors je me suis rendu compt que ce qu'il cherchait
à obtenir un arbre complet.

Les deux ont un rendu assez similaire je crois.

Quoi qu'il en soit :

Le rendu de mon code est le suivant:
étape 1:
->il découpe l'expression mathématiques en deux
->recherche si l'opérateur est au milieu ou non
->il affecte l'opérateur au noeud courant
étape 2:
->il passe les expressions découpées respectivement
->aux noeuds fils gauche puis droit
->pour ces noeuds on répète l'opération 1.
->Condtion d'arret : mon expression mathématiques
->pour un noeud est de longueur 1->hop on la stocke
->sur ce noeud

Avec le code présenté ci-dessus:
->On obtient les chiffres aux noeuds feuilles
->les opérateurs aux noeuds non feuilles.


Tout ça est impeccable. Et c'est un arbre binaire

Quote:
->Et en découpant en deux a chaque fois on est sur
->d' otenir un arbre complet au moins au niveau n - 1.

Non:
(1 + (2 + (3 + (4 + (5 + (6 + (7 + (8 + 9))))))))
Comment c'est équilibré (ou complet si c'est ce que tu as voulu dire) au niveau n-1 ?

Quote:
Bon ensuite comme la demande de levenimeux n'était
pas très claire non plus j'ai composé avec ce que j'ai
compris.

Pas clair, je ne te le fais pas dire. J'ai moi même compris qu'il voulait constituer un arbre binaire, mais je n'ai pas bien suivi son histoire de racine. S'il veut bien poser sa question dans un français intelligible....

Quoi qu'il en soit je rends hommage à tes consistantes contributions à ce forum. J'espère que nous aurons souvent le plaisir de discuter ensemble :)

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 H  H      J   AA    AA   N   N 
H H J A A A A NN N
HHHH J AAAA AAAA N N N
H H J J A A A A N NN
H H JJJ A A A A N N