Comment faire pour supprimer Binary Tree en Java

April 13

Les programmeurs utilisent Java pour développer une multitude d'applications Web et applications de bureau en raison de sa portabilité multi-plateforme et sa fondation construite sur des concepts de programmation orientée objet. Java permet aux programmeurs de construire et de manipuler des structures de données complexes sur presque tous les systèmes. Un programmeur peut, par exemple, de créer et d'utiliser une structure d'arbre binaire pour stocker des données de l'utilisateur lors de l'exécution du programme. Cependant, le programer pourrait vouloir supprimer l'arbre binaire, auquel cas elle pourrait supprimer chaque noeud, un par un.

Instructions

1 Développer l'algorithme de suppression d'une classe d'arbre binaire. Si un programmeur développe un arbre binaire, elle peut créer un algorithme de suppression pour effacer toutes les données sur l'ensemble des noeuds présents. Les grandes lignes d'une classe d'arbre binaire qui inclut une fonction de suppression ressemblera à cet exemple:

classe BinaryTree {

gauche Node privé;
droit Node privé;

public void add () {
//ajouter un item
}

recherche Node publique (int item) {
// Look pour l'article
}

publique Node getRoot () {
// Racine noeud de retour
}

ClearList public void (Node x) {
// Supprime l'arbre
}
}

2 Développer l'algorithme de suppression. Si "ClearList ()" représente la fonction qui va supprimer un arbre binaire, la fonction doit aller à chaque noeud et le déclarer comme une référence "null", ce qui signifie la collecte des ordures Java peut le supprimer. L'exemple suivant montre comment accomplir cela en utilisant un traversal post-ordre, qui se rend de manière récursive chaque noeud, et supprime les deux sous-arbres de ce noeud avant de supprimer le noeud:

ClearList public void (Node x) {

if (x == null) {
retour;
}

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

retour;
}

3 Appelez la fonction de suppression. Pour vider tout un arbre binaire, le programmeur pourrait appeler la fonction en utilisant le nœud racine de l'arbre. En outre, le programmeur pourrait supprimer des sous-arbres spécifiques de l'arbre en obtenant un noeud spécifique dans l'arborescence. En supposant que "BT" représente un arbre binaire, l'exemple suivant montre comment effectuer cette opération:

BT.clearList (BT.search (5)); // Supprime un arbre secondaire sous le nœud représentant "5"
BT.clearList (BT.getRoot ()); // Supprimer toute l'arborescence


          

Post a comment: