El ejemplo de este artículo describe el método de usar Java para usar fusiones y eliminar para eliminar el nodo en el árbol binario. Compártelo para todos para su referencia. El análisis específico es el siguiente:
La idea de implementación es muy simple:
Primero: Encuentre nodos para eliminar
Segundo: si el nodo eliminado no es, no hay un subárbol correcto, entonces la cadena del subtree izquierdo al nodo principal
Tercero: si no se dejan los nodos eliminados, la cadena subcreree izquierda al nodo principal
FUERZO: Si los nodos eliminados son de izquierda y derecha, entonces puede fusionar el sub -tree después del nodo de eliminación: hay dos formas de usar el nodo derecho del subcrere izquierdo que elimina los nodos, apunte al sub -tree derecho del nodo de eliminación, y el otro es apuntar el subcrere izquierdo del nodo eliminado con el nodo más a la izquierda del número de palabras del nodo eliminado.
La implementación de Java es la siguiente:
Public void DeleteByErring (int El) {intbstnode tmp, nodo, p = root, prev = null;/*Encuentre el nodo a eliminar*/while (p! = Null && key! = El) rev = p; .Key <el) P = P.Right; ) // El nodo no tiene hijos correctos (si los hay) se adjunta a node.left; Adjunto a node = node.Richt // su paintelse {tmp = node.left; No .left = nodo;} else prev.richt = nodo} else if (root! = null) {system.out.println ("El nodo no está en el árbol");Se espera que este artículo sea útil para el diseño del programa Java de todos.