Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Arbre ou Liste liees?? [ Archives / Au secours ] (Delamour)

samedi 25 février 2006 à 01:24:55 | Arbre ou Liste liees??

Delamour

Slut !
J ai un gros problem ke je n arrive pas a resoudre depuis deja plus de 2 semaines et je sollicite ici votre aide. Voila j ai une classe Arbre (voir image ci-dessou). Chaque Noeud de cet arbre possede une Liste(ListIterator) qui contient tous ses subordonnés.
(ListIterator elementListe = Noeud.getListe());

Mon Problem: Implementer une methode qui prend pr parametre un chiffre representant une hauteur (H) de l arbre et cette methode devrait retourner une liste contenant tt les Elments a cette hauteur.

Je prefere ne pas vous donner ce ke j ai fait jusqu ici. Sinon  au cas ou ca pourrait vous etre util, j ai cree une classe ListPlus ki extends de Vector et cette classe contient une Methode nommé addAutreListe(List autreListe) Cette methode ajoute a une liste deja existante les elements de la liste donnée en parametre.

Merci d avance!


dimanche 26 février 2006 à 13:57:23 | Re : Arbre ou Liste liees??

ObiWanKennedy

salut, Ton image ne marche pas [ Lien ] bien que chez toi elle dois marcher vu que sa pointe vers un fichier à toi.

Sinon pour ton pb j'ai pas tt tt compris mais en général pour un parcourt d'arbres c'est des méthodes récursives
et tu peux mettre une condition de sortie qui est (H)


parcours (Hauteur souhaité,hauteur actuelle,arbre A)
   si hauteur_souhaite== hauteur_actuelle
         parcourirNoeud(A.liste())
   sinon si hauteur_souhaite > hauteur_actuelle
         parcours (Hauteur souhaité,hauteur actuelle+1,arbre A.Noeud)
   

sa doit etre un truc comme sa enfin plus compliqué car au niveau au dessus tu dois parcourir la liste tout en rappellant parcours. avec a chaque fois les coordonnées du noeud suivant. Bon mon explication est pas très claire désolé.

         


mercredi 1 mars 2006 à 15:32:10 | SVP sauvez moi??

Delamour

resalut a tous
tout d abord merci a ObiWanKennedy , j ai éssayé ce ke t as dit, mais ca ne m a vraiment pas aidé.
voila j essai de représenter ca autrement:

h0----h1----h2-----h3 (h=hauteur)

Ah0
       Ah1
                 Ah2  
                            Ah3
                             Bh3        
                 Bh2
                            Ch3
                 Ch2
                            Dh3
                            Eh3
        Bh1
                 Dh2  
                 Eh2
                 Fh2
       Ch1
                 Gh2  
                           Fh3  
                 Hh2
                 Ih2
Si on donne une Hauteur la methode devrait retourner ts les elements a cette hauteur.

bref voici mon code:

public void eltsDeMemeHauteur(int hauteur_actuelle, int hauteur_souhaiter, Noeud noeud, ListPlus liste){
// si la hauteur souhaitée est 0 c a d celle ou se trouve la racine de notre arbre.
if(hauteur_souhaite==hauteur_actuelle) {
liste.add(noeud);
}
else{
Vector lesFilsDuNoeud = noeud.getList();
if(hauteurSouh==hauteurAkt-1){
liste.addAutreListe(lesFilsDuNoeud );
}
else {
int i = 0;
whlie(i<lesFilsDuNoeud .size()){
Noeud unFils = (Noeud)lesFilsDuNoeud .get(i);
eltsDeMemeHauteur(hauteur_actuelle+1, hauteur_souhaite, unFils, liste);
}
}
}
NB: ListPlus est une classe qui extends de la classe Vector et qui implemente une methode appellé addAutreListe(List autreListe) associe a ce Vector les elts de la liste donnée en paramettre.vous pouvez vous en passer si vous le souhaiter. La methode Noeud.getListe() retourne une List contenant les elements du noeud en question.
Merci d avance...

jeudi 2 mars 2006 à 00:55:51 | Re : Arbre ou Liste liees??

ObiWanKennedy

bon d'abord tu vas me dire si j'ai bien compris ton code

1/ objectif de base
crée une liste contenant tous les noeuds d'un hauteur? pour ensuite afficher (ou autre) cette liste et avoir tous les noeuds de la hauteur donné.

donc si on arrive à la hauteur H
on ajoute le noeud à la liste (celà ne marche que pour le root de l'arbre)

ensuite si tu te trouves  un cran au dessus de la hauteur souhaité tu ajoutes toutes la listes des fils du noeud.
apres si tu es dans aucun de ces cas tu parcours la liste de fils de façon récursive.
et je crois qu'il te manque qu'elle que chose .
enfin a moins que sa soit un oublie mais il n'y a pas de i++ donc ta variable i doit tjs rester a 0 donc je te conseille un for
for(int i=0;i<lesFilsDuNoeud.size();i++)
{
   Noeud unFils = (Noeud)lesFilsDuNoeud .get(i);
   eltsDeMemeHauteur(hauteur_actuelle+1, hauteur_souhaite, unFils, liste);
}
de plus sans i++ tu as une boucle infinie.

sinon j'ai 2 conseils a te donner
un il existe le else if  c'est qu'un détails mais sa rend un code plus lisible surtt si tu fais des trucs avec bcp de conditions quoi.
et 2eme conseil quand tu as un probleme essaie de mieu le décrire a quel auteur sa coince. est-ce que sa compile oui non ? est que tous se passe bien mais à la fin tu as un résultat faux . Il y a un probleme durant l'execution ? enfin se genre de truc parce que si sa compile pas on peux cherché une erreur de syntaxe alors que si ca renvoie un résultat faux c'est un probleme d'algo (qui peux parfois etre tous petits) et si sa ne s'execute pas il y a surement des erreurs de sémantique du code.
voila.


jeudi 2 mars 2006 à 11:55:43 | Re : Arbre ou Liste liees??

Delamour

    Merci bien pr tes conseils, sinon j ai finalment rèsolu le problem!
Bonne journée!



Cette discussion est classé dans : arbre, methode, liste, classe, liees


Répondre à ce message

Sujets en rapport avec ce message

Impression JTextPane [ par demonc ] Bonjour, Je n'arrive pas a imprimer un JTextPane. Voici la methode que j'utilise : Je créer une classe MonJTextPane dérivée de la classe JTextPane. El récupérer un vector d'une autre classe [ par adnane1 ] salut;J'ai créer une classe qui se connecte a une base de donnée et qui (selon le requete) consulte cette base.j'ai une methode Afficher qui affiche l déplacer une image [ par Skyffer3 ] Quand on a dessiné une image avec public void paint(Graphics g) dans unecertaine classe dérivé de jpanelcomment faire pour déplacer cette image donc y retourner la Liste des Elements d un Arbre Binaire? [ par Delamour ] Slut,J ai implementé un arbre Binaire et j aimerai retourner une Liste(Vector) contenant ts les Elemnts de mon Arbre Binaire. J ai reussi a le faire e Question POO d'un debutant [ par Sebastien_teisseire ] Voila, j'ai une grille (jTable) qui contient une liste de contact qui s'appelle 'GridLstCtc' et sa classe modele qui s'appelle 'DefaultGridLstCtc' on Sauvez moi SVP [ par Delamour ] slut a tous voila j ai un gros problem, bref j ai une sorte d arbre et je dois implementer un methode qui prends pr paramtre une hauteur et retroune t Methode non trouvée à la compilation [ par 3xodius55 ] Bonjour à tous, je fais mes premiers pas en java et me voila deja confronté a une petite erreur : pour plus de compréhension, voila le contexte (petit besoin d'aide aux niveaux java_reseaux_graphisme [ par man_smi ] salut a tous j'ai un projet de chat comme MSN ,j'ai presque le fini,c'est un projet de fin d'etude. mon probleme est que : apres la creation d'une cla JNI et eclipse [ par lapinfroid ] Bonjour a tous, voila je vous expose mon probleme : je dois utiliser des fonctions C dans un programme ecrit en JAVA ; je me suis donc tourné vers JNI Inserion d'une liste de mots ordonnée dans un arbre de préfixes [ par dorix ] Voila, je voudrais savoir comment créer une methode inserer() qui permettra d'inserer un mot dans un arbre de prefixe. C'est urgent Merci.DoRiX</STRON


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.