L'exemple de cet article décrit la méthode d'utilisation de Java pour utiliser les fusions et la suppression pour supprimer le nœud dans l'arbre binaire. Partagez-le pour tout le monde pour votre référence. L'analyse spécifique est la suivante:
L'idée de mise en œuvre est très simple:
Premièrement: trouvez des nœuds à supprimer
Deuxièmement: si le nœud supprimé n'est pas il n'y a pas de sous-arbre droit, alors la chaîne de sous-trèche gauche au nœud parent
Troisièmement: si les nœuds supprimés ne sont pas laissés, la chaîne de sous-trèche gauche au nœud parent
Forth: Si les nœuds supprimés sont à gauche et à droite, vous pouvez fusionner le sous-trace après le nœud de suppression: il existe deux façons d'utiliser le nœud droit du sous-trace gauche qui supprime les nœuds, pointez vers le sous-trace droit du nœud de suppression, et l'autre, il est de pointer le sous-trace de gauche du nœud supprimé avec le nœud le plus à gauche du nombre de mots du nœud supprimé.
La mise en œuvre de Java est la suivante:
Public void DeleteByerring (int el) {intbStNode tmp, nœud, p = root, prev = null; / * trouvez le nœud à supprimer * / while (p! = Null && key! = El) Rev = p; .Key <el) p = p.Right; else p = p.left;} / * trouver ed * / node = p; ) // Le nœud n'a pas d'enfants droits (le cas échéant) est attaché à Node.left; Attaché à Node = node.richt // son peinturelse {tmp = node.left; ; .left = nœud;} else Prev.richt = nœud} else if (root! = null) {System.out.println ("le nœud n'est pas dans l'arborescence");On espère que cet article est utile à la conception du programme Java de tous.