Pour un arbre de recherche équilibré, il s'agit de O (log (N)) pour tous les cas. Pour les arbres de recherche déséquilibrés, le cas le plus défavorable est O (N), par exemple insert 1, 2, 3, 4, ... et la meilleure des cas est quand il est équilibré, par exemple insert 6, 4, 8, 3, 5 Comment définir la complexité moyenne des cas pour un arbre de recherche déséquilibré?Quelle est la profondeur asymptotique moyenne d'un arbre de recherche déséquilibré simple?
3
A
Répondre
4
La hauteur moyenne des arbres binaires est Theta (sqrt (n)). Cela a été montré (ou référencé, pas très sûr) dans le document suivant: http://www.dtc.umn.edu/~odlyzko/doc/arch/extreme.heights.pdf.
Mais peut-être vous êtes plus intéressé par la profondeur moyenne d'un nœud aléatoire et c'est Theta (log n), comme on peut le voir ici: http://www.toves.org/books/data/ch05-trees/index.html (Section 5.2.4).
Je m'attendrais à propos de 'O (n^.5)' en raison de la similarité avec les marches aléatoires, mais je ne publie pas de réponse car je ne peux pas vraiment le prouver. BTW, si c'est un devoir, pourriez-vous l'étiqueter comme tel? – pavpanchekha
ce n'est pas des devoirs. C'est par curiosité que la plupart des arbres de recherche dans les bibliothèques standard en C++, Java sont implémentés comme déséquilibrés. – user236215
C'est trop dur pour faire ses devoirs. –