Dessiner un arbre en java?^^ - Java - Programmation
Marsh Posté le 08-01-2007 à 00:35:03
Salut,
Voici une petite fonction récursive, qui [devrait^^] imprimer ton AVL depuis un noeud père, jusqu'à un noeud donné.
Code :
|
Marsh Posté le 08-01-2007 à 01:40:57
Merci ^^
Eu en fait je veux pas afficher mon avl dans la console, je veux le dessiner sur un canvas
J'étais entrain d'essayer à nouveau et j'ai presque trouvé il faut jouer avec la hauteur pour calculer les coordonnées puisque l emplacement du noeud va dépendre de la largeur que prend le sous arbre de ce même noeud, afin que les 2 sous arbres ne se dessinent pas à "cheval" l'un sur l autre^^
Apparemment j'ai l impression que chaque noeud se dessine à une distance de +(2^h)/2 pour le fils gauche et -(2^h)/2 pour le fils droit de l'abscisse de son père.
Avec h, la hauteur (plus grande branche)du sous arbre du noeud concerné
Enfin après j en suis pas sur, vous en pensez quoi? ^^
Marsh Posté le 08-01-2007 à 02:24:01
si t'as pas envie de te faire chier avec le coté graphique de la chose, y'a des libs toutes faites
Marsh Posté le 08-01-2007 à 02:53:05
tu peut faire ça en 2 passes, une du bas vers le haut pour calculer la largeur de chaque sous arbre :
largeur feuille == 1
largeur noeud = largeur fils gauche + largeur fils droit
puis une fois que t'as toute les largeurs, tu calcule les positions, la verticale est triviale c'est la profondeur de l'arbre, l'horizontale c'est :
x racine = largeur racine /2
x fils gauche = x noeud - largeur fils gauche / 2
x fils droit = x noeud + largeur fils droit / 2
ce sera pas optimalement compact, mais ça devrait marcher et c'est assez simple à faire.
Marsh Posté le 07-01-2007 à 21:46:08
Bonjour,
Voilà je suis entrain de concevoir une petite application en java sur les AVL avec interface graphique et représentation dynamique de l'arbre sur un Canvas, dans le cadre d'un projet pour les cours.
Et j'ai un petit soucis pour dessiner mon arbre, j'ai l'impression que ca peut se faire recurssivement mais je n'y arrive pas, je n'arrive pas à determiner la position des noeuds fils en fonction de leur noeud pére...je suppose que la hauteur de l'arbre intervient dans tout ca mais à force de me creuser la tête je commence à m'emmeler les pinceaux
Voilà donc si quelqu'un pouvait m'aiguiller ca m'aiderait beaucoup ^^
Merci d'avance !
PS : Je savais pas trop ou poster ma question, dslé si je me suis trompé d'endroit