j'ai codé différentes méthodes pour des arbres n-aires.
Je mets les différents code pour que vous puissiez m'aider.
J'aurais d'aide besoin pour l'écriture d'une méthode traverse qui renvoie la liste des noeuds(List<Node> ) en ordre préfixe
Merci d'avance
Cette classe permettra d'utiliser la classe Leaf(noeud n'ayant pas de fils) ou la classe InternalNode(noeud ayant un ou plusieurs fils)
Code :
import java.util.*;
public abstract class Node {
private final int data;
public Node(int data) {
this.data = data;
}
publicint getData(){
return data;
}
publicint size(){
return 1;
}
public boolean contains (int i){
return data == i;
}
}
Cette classe utilise les noeuds sans fils
Code :
import java.util.*;
publicclass Leaf extends Node{
public Leaf(int data){
super(data);
}
publicint size(){
return super.size();
}
public boolean contains(int i){
return super.contains(i);
}
@Override public String toString(){
StringBuilder sb = new StringBuilder();
sb.append(getData()).append(" " );
return sb.toString();
}
@Override public boolean equals(Object o){
if(!(o instanceof Leaf))
returnfalse;
Leaf l = (Leaf)o;
return getData() == l.getData();
}
}
Noeud ayant un ou plusieurs fils
Code :
import java.util.*;
publicclass InternalNode extends Node{
private final List<Node> children;
public InternalNode(int data, List<Node> children){