Analyse temporelle des opérations d'arbres binaires de recherche

voix
0

Je lis sur les arbres binaires de recherche que si elle est un arbre complet (tous les nœuds sauf nœuds feuilles ont deux enfants) ayant n noeuds, aucune voie ne peut avoir plus de 1 + log n noeuds.

Voici le calcul que je l'ai fait ... pouvez-vous me montrer où est-ce que je me trompe ....

the first level of bst has only one node(i.e. the root)-->2^0
the second level have 2 nodes(the children of root)---->2^1
the third level has 2^3=8 nodes
 .
 .
the (x+1)th level has 2^x nodes

so the total number of nodes =n = 2^0 +2^1 +2^2 +...+2^x = 2^(x+1)-1
so, x=log(n+1)-1

now as it is a 'complete' tree...the longest path(which has most no of nodes)=x
and so the nodes experienced in this path is x+1= log(n+1)

Alors comment le numéro 1 + n log venir ...?

Créé 26/09/2011 à 18:26
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

Réponse courte: le nombre xde niveaux dans un complet (ou parfait) arbre binaire est log2(n+1), où nest le nombre de nœuds (alternativement, n = 2^(x-1)). Un arbre avec des xniveaux a une hauteur x-1. Le plus long chemin de la racine à un noeud contient des x = log2(n+1)noeuds (et x-1arêtes).

Maintenant , parce que n+1est une puissance de 2, nous avons que log2(n+1) = 1 + floor(log2(n)). En d' autres termes, 1 + log2(n)est une borne supérieure correcte, mais jamais un entier.

On ne sait pas pour moi si le xdans votre calcul fait référence à la hauteur ou le nombre de niveaux.

Créé 26/09/2011 à 19:35
source utilisateur

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