Implementation arbre
Résolu/Fermé
khaoula_ba
Messages postés
6
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
17 mai 2013
-
14 mai 2013 à 00:13
khaoula_ba Messages postés 6 Date d'inscription mardi 14 mai 2013 Statut Membre Dernière intervention 17 mai 2013 - 17 mai 2013 à 21:35
khaoula_ba Messages postés 6 Date d'inscription mardi 14 mai 2013 Statut Membre Dernière intervention 17 mai 2013 - 17 mai 2013 à 21:35
A voir également:
- Implementation arbre
- Arbre généalogique famille michelin - Télécharger - Généalogie
- Arbre genealogique windsor - Télécharger - Généalogie
- L'arbre Généalogique de la famille - Télécharger - Généalogie
- Arbre à clochette 99000 ✓ - Forum Jeux vidéo
- Arbre généalogique vierge gratuit à imprimer a4 - Forum loisirs/vie pratique
3 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
14 mai 2013 à 06:01
14 mai 2013 à 06:01
public static int Numniveau;//niveau du noeudIl n'y a aucune raison que ceci soit static (c'est à dire commun à tous les arbres que tu vas créer), de plus ce genre d'information n'a pas à être stockée dans la structure, elle devrait être calculée par une méthode. Donc ta condition principale "if (racine.Numniveau<nb_niveaux)" est à revoir !
public boolean feuille;//si le noeud courent est feuille alors feuille =true sinn false
Idem, cette information se calcule (avec pred==null) pas besoin de la stocker.
Il faudrait aussi revoir l'encapsulation, tout mettre à public est une mauvaise idée !
public int val;//le nom de la tache qui est 1 ou 2 ou 3Tu pourrais utiliser un enum, ce serait plus sûr pour restreindre les valeurs possibles.
public static enum Tache { T1, T2, T3}; protected Tache val;
int k=1;Si ça ne fait pas partie de la structure de l'arbre, alors ça n'a rien à faire ici !
//une feuille est un noeud qui ne posséde aucun predecesseurSi c'est une feuille tu devrais avoir un successeur non null, ici en fait c'est une racine que tu construis !
Remarque : avec les arbres le vocabulaire consacré est plutôt de parler d'un père et de plusieurs fils (pas de successeur et de prédécesseurs...)
Bref, il y a beaucoup de choses à revoir, en commençant par la structure de l'arbre !
public class Arbre { protected Arbre pere; protected Arbre[] fils; public static enum Tache {T1, T2, T3}; protected Tache val; protected int poids;
khaoula_ba
Messages postés
6
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
17 mai 2013
14 mai 2013 à 13:53
14 mai 2013 à 13:53
merciiiiiiiiiiiii
wi c'est ca , il me suffit d'enlever le mot statich et ca marche
wi c'est ca , il me suffit d'enlever le mot statich et ca marche
khaoula_ba
Messages postés
6
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
17 mai 2013
Modifié par khaoula_ba le 17/05/2013 à 21:35
Modifié par khaoula_ba le 17/05/2013 à 21:35
bonsoir,
je cherche à affecter à chaque noeud un poids qui represente le nombre de predecesseurs total de chaque noeud.
si c'est une feuille son poids est egal à 1 sinn sommes des poids de ses predecesseurs directs
pour ceci j'ai implémenté:
mais ca ne marche pas correctement
pouvez vous m'aider svp?????
cé urgent. et merci d'avance
je cherche à affecter à chaque noeud un poids qui represente le nombre de predecesseurs total de chaque noeud.
si c'est une feuille son poids est egal à 1 sinn sommes des poids de ses predecesseurs directs
pour ceci j'ai implémenté:
public int somme_poids(Arbre racine) {int x=1; for(int i=0;i<racine.pred.length;i++) { x=x+racine.pred[i].poids;} return x; } public void affecter_poids(Arbre racine) { if(racine.feuille==true) {racine.poids=1; } else { for(int j=0;j<racine.pred.length;j++) { affecter_poids(racine.pred[j]); } racine.poids=somme_poids(racine); } }
mais ca ne marche pas correctement
pouvez vous m'aider svp?????
cé urgent. et merci d'avance