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 ?
Aléatoire binaire Rechercher Arbre
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
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













