Atelier 5.3, exercice A: implanter un arbre #
Exemple de tests réussis #
Créer la classe MonNoeud
#
-
Ajouter la classe suivante au paquet
atelier5_3_A
- Nom de la classe:
MonNoeud
- Nom de la classe:
-
Débuter l’implantation comme suit:
public class MonNoeud<C extends Comparable<C>> extends Noeud<C> {
public MonNoeud(C valeur) {
super(valeur);
}
public MonNoeud(C valeur, Noeud<C> parent) {
super(valeur, parent);
}
@Override
public void inserer(C valeur) {
/*
* TODO
*
* insérer à gauche, à droite ou ici-même
* selon la comparaison de la valeur courante (si elle existe)
* et de la valeur à insérer
*
* NOTES:
* - si valeur < courant: insérer à gauche
* - si valeur > courant: insérer à droite
* - sinon sauvegarder la valeur dans le noeud courant
*/
}
private void insererVersLaGauche(C valeur) {
/*
* TODO
*
* IMPORTANT: utiliser nouveauNoeud(valeur, this) pour créer un nouveau noeud
*
* IMPORTANT: appeler this.equilibrer() **une seule fois**,
* tout de suite après avoir insérer un nouveau noeud
*
*/
}
private void insererVersLaDroite(C valeur) {
/*
* TODO
*
* IMPORTANT: utiliser nouveauNoeud(valeur, this) pour créer un nouveau noeud
*
* IMPORTANT: appeler this.equilibrer() **une seule fois**,
* tout de suite après avoir insérer un nouveau noeud
*
*/
}
@Override
protected Noeud<C> nouveauNoeud(C valeur, Noeud<C> parent) {
return new MonNoeud<C>(valeur, parent);
}
@Override
protected Noeud<C> nouveauNoeud(C valeur) {
return new MonNoeud<C>(valeur);
}
}
Créer la classe MonArbre
#
-
Ajouter la classe suivante au paquet
atelier5_3_A
- Nom de la classe:
MonArbre
- Nom de la classe:
-
Débuter l’implantation comme suit:
public class MonArbre<C extends Comparable<C>> extends Arbre<C> {
/*
* Dans la classe parent
*
* protected Noeud<C> racine;
*
* public Noeud<C> getRacine() {
* return racine;
* }
*
* public void setRacine(Noeud<C> racine) {
* this.racine = racine;
* }
*
*/
@Override
public Noeud<C> racine() {
return racine;
}
@Override
public void ajouter(C valeur) {
// TODO
}
@Override
public void retirer(C valeur) {
// TODO
}
@Override
public Noeud<C> trouverNoeud(C valeur) {
// TODO
}
private Noeud<C> trouverNoeud(Noeud<C> curseur, C valeur){
// TODO
}
@Override
public List<Noeud<C>> tousLesNoeuds() {
// TODO
}
@Override
public int nombreDeNoeuds() {
// TODO
}
}
Créer la classe MonAtelier5_3_A
#
-
Ajouter la classe suivante au paquet
atelier5_3_A
- Nom de la classe:
MonAtelier5_3_A
- Nom de la classe:
-
Implanter comme suit:
public class MonAtelier5_3_A extends Atelier5_3_A {
public static void main(String[] args) {
new MonAtelier5_3_A().valider();
}
@Override
public Arbre<Character> fournirArbre() {
return new MonArbre<Character>();
}
}
Compléter les implantations #
- Utiliser l’outil de validation pour tester votre code
-
vous pouvez aussi afficher le fichier
html
:Arbre.html
- (à la racine du projet)