Affichage d'un avl

Fermé
bambeuz Messages postés 4 Date d'inscription vendredi 19 juin 2015 Statut Membre Dernière intervention 11 juillet 2015 - 2 juil. 2015 à 08:56
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 11 juil. 2015 à 15:03
Bonjour,
je voudrai savoir comment on affiche un AVL avec SDL



2 réponses

sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
11 juil. 2015 à 15:03
Bonjour
Ce que @Dal essaye de vous dire est qu'il faut connaitre la hauteur de votre arbre en clair cela veut dire certaines choses comme ( pour faire simple et plus en détail) que la taille voire la hauteur de votre arbre est le nombre de ses noeuds; que la hauteur d'un noeud dite aussi profondeur de niveau est la longueur du chemin entre la racine et ce noeud; que la hauteur ou profondeur d'un arbre est la hauteur maximum de ses feuilles et que la longueur de chemin d'un arbre sont la somme des hauteurs de ses noeuds. donc

hauteur(abr) = 0 si a est la racine
hauteur(abr) = 1 + hauteur(abr->b) si b est le père de a

int f_size_abr( ts_arbre abr ){
	return ( (NULL) == abr ) ? 
			0 : 1 + f_size_abr(abr->gauche) + f_size_abr( abr->droite);
}

À partir de la taille hauteur & largeur tu pourras alors déterminer de façon dynamique la dimension de ta fenêtre afin d'afficher ton arbre au complet et les cordonner d'affichage.
à bientôt
1
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
3 juil. 2015 à 10:24
Salut bambeuz,

Sans doutes, la plupart des gens ne savent pas ce qu'est "un AVL", et tu gagnerai en chances que quelqu'un te donne une réponse utile en expliquant ce que c'est, et ce que tu entends par "afficher" cette chose.

Dal
0
bambeuz Messages postés 4 Date d'inscription vendredi 19 juin 2015 Statut Membre Dernière intervention 11 juillet 2015
3 juil. 2015 à 17:50
un AVL est un arbre binaire de recherche équilibré c'est à dire la hauteur du sous-arbre gauche est égale à celle du sous-arbre droite ou lui est supérieure d'une unité vice-versa.
j'entends par "afficher" le fait de visualiser graphiquement l'arbre comme on a l'habitude de le voir mais à l'aide de SDL.
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
Modifié par [Dal] le 6/07/2015 à 19:34
Salut bambeuz,

Je n'ai jamais affiché un arbre AVL, mais j'imagine que pour l'afficher graphiquement, tu dois savoir le parcourir et savoir sur combien de niveaux il s'étale en hauteur, et en largeur de part et d'autre de la racine, et en fonction de la taille d'affichage disponible et des marges par rapport aux bords et aux éléments entre eux, déterminer les coordonnées de placement des éléments graphiques à représenter.

Si ta question concerne la SDL, tu dois afficher du texte, des formes circulaires représentant des noeuds et les relier par des lignes, si j'ai bien compris. Tu peux faire cela avec la SDL2, SDL_ttf et SDL2_gfx.

Dal
0
bambeuz Messages postés 4 Date d'inscription vendredi 19 juin 2015 Statut Membre Dernière intervention 11 juillet 2015 > [Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024
11 juil. 2015 à 02:11
salut Dal,
est ce que vous pouvez entrer un peu plus dans les détailles
0