Question de base BST d'un nouveau programmeur

voix
0

Compte tenu de l'ensemble de données (8, 1, 6, 9, 3, 5, 4, 7) Je dessiné l'arbre de recherche binaire suivante:

   8
  / \
  1  9
   \ 
    6
   / \ 
  3   7
   \ 
    5
   /
  4

Ma question est, si je voulais supprimer le nœud racine (8) de cet arbre, comment pourrais-je le faire et qu'est-ce que la structure de l'arbre résultant ressembler? Merci beaucoup pour toute aide!

Créé 30/03/2011 à 04:29
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
1

vous aurez besoin de promouvoir un noeud du sous-arbre gauche ou le sous-arbre droit. Vous pouvez le faire de manière arbitraire, ou mieux encore, promouvoir le plus profond arbre.

Si la promotion de l'arbre secondaire gauche, trouver la feuille de départ en allant toujours dans le droit substree gauche. Snip cette feuille de l'arbre, et le mettre comme la nouvelle racine.

De même, si la promotion de l'arbre droit sous, trouver la feuille en allant à gauche en commençant toujours dans le sous-arbre droit. Snip cette feuille de l'arbre, et le mettre comme la nouvelle racine.

Créé 30/03/2011 à 04:38
source utilisateur

voix
-2
            1
             \
              6
            /  \
           3    9 
            \  /
             5 7
            /
           4   

L'arbre regardera comme indiqué ci-dessus. Le mieux serait de reconstruire l'arbre à nouveau à partir de zéro plutôt que d'avoir une certaine logique pour déplacer les feuilles et compliquer le processus.

Créé 30/03/2011 à 06:51
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more