un arbre de recherche binaire peut être à la fois pleine et entière?

voix
3

En préparation pour les structures de données moyen terme, le professeur nous a donné le test de l'année dernière, une question qui traite de réarranger un arbre par exemple dans un arbre de recherche binaire complet. J'ai essayé plusieurs versions différentes de l'écriture sur l'arbre, mais cet exemple d'arbre binaire complet de Wolfram Mathematica n'a pas aidé du tout, car il correspond également à la définition de la pleine. Le manuel définit un arbre binaire complet comme un arbre à travers le niveau n-1 est parfait avec des nœuds feuilles supplémentaires au niveau n, tous aligné à gauche.

Les nœuds sont A E I L N O P R S T U, n = 11 noeuds. Voici la meilleure réponse que je suis venu avec:

           R
         /    \
        L      T
       / \    / \
     I    N   S   U
    / \  / \
   A  E O   P

Mais cela correspond à l'exemple de l'arbre à WM, mais pas l'exemple du livre. Alors, qui est la bonne réponse?

Créé 19/10/2010 à 14:57
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
11

Je ne comprends pas tout à fait où votre confusion est, mais je ferai de mon mieux pour répondre ...

Un arbre binaire est considéré comme complet si chaque nœud a exactement 0 ou 2 enfants.

Un arbre binaire est considéré comme complet si tous les niveaux est pleine, sauf la dernière, et tous les noeuds sont poussés aussi loin que possible à gauche.

Donc, si elle correspond à ces deux descriptions, ce qui est possible, il peut être en même temps pleine et entière.

En outre, un arbre binaire est considéré comme parfait si elle est pleine et toutes les feuilles sont au même niveau.

Ainsi, dans l'exemple ci-dessus vous avez tiré, cet arbre est pleine et entière, mais pas parfait.

J'espère que ça aide.

Créé 19/10/2010 à 15:06
source utilisateur

voix
3

Quelques exemples qui nous l'espérons, être utiles:

Complet, pas plein:

        R
      /    \
     L      T
    / \    / \
  I    N   S   U
 / \  /
A  E O   

Complet, pas terminé:

        R
      /    \
     L      T
    / \    / \
  I    N   S   U
      / \
     O   P


        R
      /    \
     L      T
    / \    
  I    N   
 / \  / \
A  E O   P
Créé 21/10/2010 à 03:38
source utilisateur

voix
1

Arbre complet: un arbre binaire T est complet si chaque nœud est soit une feuille ou possède exactement deux nœuds enfants.

      O
     / \
    O   O
   / \ / \
  O  O O  O
    / \
   O   O

arbre complet mais pas complet

Arbre complet: un arbre binaire T avec n niveaux est complet si tous les niveaux, sauf peut-être le dernier sont complètement plein, et le dernier niveau a tous ses nœuds sur le côté gauche.

       O
      / \
     O   O
    /
   O

Complete arbre, mais pas plein

De même, un autre exemple

      O
     / \
    O   O
   / \ / \
  O  O O  O
 /\ /
O O O

J'espère que ce sont utiles!

Créé 21/04/2014 à 22:30
source utilisateur

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