[Java] Rechercher un élément dans un arbre double chaîné!!!
dianeti
Messages postés5Date d'inscriptionmercredi 28 avril 2004StatutMembreDernière intervention19 janvier 2005
-
18 janv. 2005 à 00:09
dianeti
Messages postés5Date d'inscriptionmercredi 28 avril 2004StatutMembreDernière intervention19 janvier 2005
-
19 janv. 2005 à 21:21
Salut tout le monde,
j'ai un petit problème un peu chev'lu:
je crée un arbre au fur et mesure que je parcours un fichier de données afin de trouver l'objet de la recherche. Dans ce fichier de données, les éléments sont liés dans les deux sens. Je m'explique : A -> B , B -> A , B -> C et C ->B par exemple
En construisant l'arbre j'obtiens pour cet exemple en considérant A comme la racine :
A -> B -> C
Ce n'est pas un arbre classique (binaire,...) que j'obtiens, ici un noeud père peut avoir un ou plusieurs fils.
Au final je mémorise la suite de noeuds qui me mène du noeud de départ au noeud d'arrivée.
Voila mes fonctions essentielles :
boolean ChercheDebut (Node debut, Node fin) {
// qui renvoie true si debut est trouvé
// et j'ai une variable globale: "chemin" qui est une ArrayList
// qui memorise le chemin parcouru
}
//cette fonction cherche tous les fils du noeud "racine"
// et supprime dans cette liste le noeud "filsAssuprime"
// s'il s'y trouve.
// un moyen pour que le noeud racine ne se retrouve pas dans une
//liste de ses petit-fils.
}
Mon algorithme est simple mais côté codage c'est pas top!
Je me retrouve au final avec un programme qui parcourt tout l'arbre et ne s'arrêtant même pas quand debut est trouvé.
Pourtant j'ai mis des tests pour sortir de la boucle de recherche à différents points de la fonction "ChercheDebut" pour éviter des boucles infinies!!!!
Alors je m'adresse à vous pour savoir si vous avez déjà eu à dépatouiller un problème similaire et comment vous vous en êtes sorti? (vos sources m'intéressent)
Si vous avez des suggestions pour simplifier mon algo, elles seront les bienvenues.
D'avance merci.
# ya ke la prog ki amuse #
# ya ke la prog ki amuse #
A voir également:
[Java] Rechercher un élément dans un arbre double chaîné!!!
dianeti
Messages postés5Date d'inscriptionmercredi 28 avril 2004StatutMembreDernière intervention19 janvier 2005 19 janv. 2005 à 21:21
Rebonjour et merci d'avoir réagi si vite JBAware
Bon voilà mon code:
C'est assez long, navré pour la longueur du message je voulais
bien le passer en pièce jointe!!!!
Je le résume:
- les blocs sont séparés par (*********...***)
- y a 2 classes en tout avec plein de commentaires
class Noeud {...}
class Recherche{
...
public ChercheDebut(...){...}
public RechercheListFils(...){...}
...
}
- la base de données étant déjà lue
Le probleme je rappelle c'est la methode "ChercheDebut"
qui continue de parcourir l'arbre complètement et ne renvoie pas
le chemin voulu!!!
Je continue de mon côté à essayer de m'en sortir
Merci de me donner un coup de pouce et de m'éclairer les zones obscures