Aléatoire binaire Rechercher Arbre

voix
1

J'ai un BST où j'insérer des clés de 1 ... n au hasard (chaque permutation est fait avec 1 / n! probabilité) . ma question est pourquoi les arbres résultants ne sont pas uniformes , même si la permutation est uniforme ?

Créé 21/03/2011 à 22:33
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
3

Beaucoup dépend de la mise en œuvre de l'arbre. Est-il auto équilibrage? Considérez les arbres simples de 1 2 3 et 3 2 1

Very simple tree:
add 1

1

add 2


1
 \
  2

add 3

 1
  \
   2
    \
     3

puis 3 2 1

ajouter 3

3

add 2


  3
 /
2

add 1

     3
    /
   2
  / 
 1

Maintenant, faites 2 3 1

2

2
 \
  3


  2
 / \
1   3
Créé 21/03/2011 à 22:37
source utilisateur

voix
1

un arbre de recherche binaire est non seulement un arbre de recherche uniforme ... un arbre est construit dans l'ordre dans lequel les nouvelles valeurs sont enregistrées en elle. comme glowcoder déjà montré, qui ne marche pas garantir l'uniformité ...

ayant une distribution uniforme de nombres aléatoires ne garantit pas un ordre de valeurs qui est optimal pour construire un arbre binaire

d'avoir une recherche minimum d'effort par un arbre binaire, l'arbre doit être reconstruire régulièrement. Cela se produit généralement chez les non-affaires-heures, où un algorithme peut lire tout l'arbre dans une liste, et puis, à partir de cette liste, construit un nouvel arbre avec une uniformité optimale

Créé 21/03/2011 à 22:45
source utilisateur

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