Bonjour

Voici mon problème: j'aimerais créer un arbre non binaire en java et pouvoir effectuer un parcours en profondeur sur cet arbre

Pour l'instant voici les différents fichiers que j'ai créé:

mon fichier avec les racines et les successeurs.la chaine avant les ":" correspond au racine et les chaines après les ":" correspond aux successeurs
. : mon_repertoire rep tata toto tutu
mon_repertoire : directory loto lulu
rep : aaa chato gato rado rato
directory : auto moto velo
aaa : fado java torot

LireFichier.java: qui permet de lire les données depuis mon fichier

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
 
public class LireFichier {
	private ArrayList<String> racines;
	private ArrayList<String> sucesseurs;
 
	public LireFichier() {
		this.racines = new ArrayList<String>();
		this.sucesseurs = new ArrayList<String>();
	}
 
	public LireFichier(String nomFichier) {
		racines = new ArrayList<String>();
		sucesseurs = new ArrayList<String>();
 
		try {
			File f = new File(nomFichier);
			Scanner scanner = new Scanner(f);
			String data[];
			String racine, sucesseur;
 
			while (scanner.hasNextLine()) {
				String line = scanner.nextLine();
 
				// on sépare la racine et les sucesseurs par le :
				data = line.split(":");
 
				// la racine se trouve à l'index 0
				racine = data[0];
				racines.add(racine);
 
				// chaque succeseur doit être séparée par l'espace
				sucesseur=data[1];
				sucesseurs.add(sucesseur);
			}
 
			scanner.close();
 
		} catch (FileNotFoundException exception) {
			System.out.println("File not found");
		}
 
	}
 
	public ArrayList<String> getRacines() {
		return racines;
	}
 
	public void setRacines(ArrayList<String> racines) {
		this.racines = racines;
	}
 
	public ArrayList<String> getSucesseurs() {
		return sucesseurs;
	}
 
	public void setSucesseurs(ArrayList<String> sucesseurs) {
		this.sucesseurs = sucesseurs;
	}
 
	public String toString() {
		String res = "";
		for (int i = 0; i < racines.size(); i++) {
			res = res+racines.get(i)+":"+sucesseurs.get(i)+"\n";
		}
		return res;
	}
}
Noeud.java qui permet de créer les différents noeuds de l'arbre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import java.util.ArrayList;
 
 
public class Noeud {
	private ArrayList<Noeud> sucesseurs;
	private String valeur;
 
	public Noeud(String valeur){
		this.valeur=valeur;	
	}
 
	public Noeud(){
		this.sucesseurs=new ArrayList<Noeud>();
		this.valeur="";
	}
 
	public ArrayList<Noeud> getSucesseurs() {
		return sucesseurs;
	}
 
	public void setSucesseurs(ArrayList<Noeud> sucesseurs) {
		this.sucesseurs = sucesseurs;
	}
 
	public String getValeur() {
		return valeur;
	}
 
	public void setValeur(String valeur) {
		this.valeur = valeur;
	}
 
	public void ajouter(Noeud sucesseur){
		sucesseurs.add(sucesseur);
	}
 
	public String toString(){
		String res ="Le noeud "+valeur.toString()+" a pour succeseur ";
		for(int i=0;i<sucesseurs.size();i++){
			res.concat(sucesseurs.get(i).toString());
		}
		return res;
	}
}
Arbre.java: qui permet de créer l'arbre concerné

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
public class Arbre {
 
	private Noeud racine;
 
	public Noeud getRacine() {
		return racine;
	}
 
	public void setRacine(Noeud racine) {
		this.racine = racine;
	}
 
	public Arbre(LireFichier fich) {
		this.racine = new Noeud(fich.getRacines().get(0));
	}
 
	public void construireArbre(LireFichier fich) {
 
 
 
	}
 
	public void parcours_profondeur() {
 
	}
}
et un fichier main pour faire executer tout cela.

Comme vous pouvez le constaté je ne sais pas comment faire pour construire l'arbre.merci d'avance pour votre aide.