Tecnología

Inicio

Cómo quitar el árbol binario en Java

Los programadores usan Java para desarrollar una serie de aplicaciones Web y de escritorio debido a su portabilidad entre plataformas y su fundamento construido sobre los conceptos de programación orientada a objetos. Java permite a los programadores para construir y manipular estructuras de datos complejas en casi cualquier sistema. Un programador podría, por ejemplo, crear y utilizar una estructura de árbol binario para almacenar datos de usuario durante la ejecución del programa. Sin embargo, el programador puede querer borrar el árbol binario, en cuyo caso se podría eliminar todos los nodos, uno por uno.

Instrucciones

1 Desarrollar el algoritmo de eliminación en una clase de árbol binario. Si un programador desarrolla un árbol binario, se puede crear un algoritmo de eliminación para borrar todos los datos de todos los nodos presentes. El esbozo de una clase de árbol binario que incluye una función de eliminación será similar a este ejemplo:

BinaryTree clase {

Nodo izquierda privado;
Nodo derecho privado;

public void add () {
//añadir artículo
}

Búsqueda Nodo público (artículo int) {
// Mirada para el artículo
}

Nodo getRoot público () {
// Nodo raíz de retorno
}

público clearList void (x Node) {
// Elimina el árbol
}
}

2 Desarrollar el algoritmo de eliminación. Si "clearList ()" representa la función que va a eliminar un árbol binario, la función tiene que ir a cada nodo y declarar como referencia "nulo", lo que significa que la recolección de basura de Java puede eliminarlo. El siguiente ejemplo muestra cómo lograr esto mediante un recorrido en post-orden, que de forma recursiva visita cada nodo, y elimina las dos sub-árboles de ese nodo antes de eliminar el nodo:

público clearList void (x Node) {

si (x == null) {
regreso;
}

clearList (x.left);
clearList (x.right);
x = null;

regreso;
}

3 Llame a la función de eliminación. Para vaciar un árbol binario entero, el programador podría llamar a la función usando el nodo raíz del árbol. Además, el programador podría eliminar árboles específicos sub desde el árbol por conseguir un nodo específico en el árbol. Suponiendo que "BT" representa un árbol binario, el siguiente ejemplo muestra cómo lograr esto:

BT.clearList (BT.search (5)); // Elimina un sub-árbol bajo el nodo que representa "5"
BT.clearList (BT.getRoot ()); // Eliminar todo el árbol