Créer un binaire classe de base arbre de recherche. À ce stade, vous aurez seulement besoin d'une méthode constructeur de base qui initialise la valeur du noeud et une méthode d'insertion. La méthode d'insertion va traverser un arbre et de faire un nouveau nœud dans le bon endroit. ""public class BinaryTree {
BinaryTree gauche;
BinaryTree droit;
int à valeur
BinaryTree publique (int v) {
value = V-
}
// Insérer une valeur dans l'arbre
insert public void (int v) {
si (v lt; valeur) {
if (null == gauche)
gauche = new BinaryTree (v) -
autre
left.insert (v) -
}
else if (v gt; valeur) {
si (à droite == null)
droite = new BinaryTree (v) -
autre
right.insert (v) -
}
}
}""
Créez l'instance (noeud) de l'arbre binaire qui sera le nœud racine. Comme tout autre noeud, le noeud racine doit avoir une valeur. Il est généralement préférable de choisir une valeur proche de la médiane des objets que vous stockez, comme des arbres binaires devraient être aussi équilibrée que possible. ""BinaryTree b = new BinaryTree (50) -""
Insérez nœuds dans l'arbre afin de conserver l'équilibre spécifique, comme cet arbre binaire est pas auto-équilibrage. Cet exemple crée le plus petit possible arbre afin de maintenir l'efficacité.""b.Insérez (20) -
b.Insérez (40) -
b.Insérez (10) -
b.Insérez (5) -
b.Insérez (45) -
b.Insérez (70) -
b.Insérez (60) -
b.Insérez (80) -
b.Insérez (55) -
b.Insérez (85) -""
Se déplacer à travers l'arbre en utilisant un parcours infixe. L'arbre gauche est traversé en premier, suivi par le nœud racine, puis le bon arbre est traversé. Utilisation de la récursivité, le code est simplement trois lignes. Cependant, depuis la récursion prend l'espace de pile, il doit être utilisé avec précaution. Avec une petite et équilibrée arbre binaire, récursivité ne débordera pas la pile.
Ajouter une nouvelle méthode pour la classe Java BinaryTree appelé inorder.
""public void inorder () {
if (gauche! = null) left.inorder () -
System.out.println (valeur) -
si (à droite! = null) right.inorder () -
}""
Appelez la méthode inorder après vos inserts d'imprimer les noeuds dans l'ordre.""b.inorder () -"