Maison >Java >javaDidacticiel >Analyse de complexité temporelle de l'arborescence AVL

Analyse de complexité temporelle de l'arborescence AVL

WBOY
WBOYoriginal
2024-07-25 09:09:12865parcourir

AVL Tree Time Complexity Analysis

Puisque la hauteur d'un arbre AVL est O(log n), la complexité temporelle de la recherche, de l'insertion et de delete dans AVLTree sont O(log n). La complexité temporelle des méthodes search, insert et delete dans AVLTree dépend de la hauteur de l'arbre. Nous pouvons prouver que la hauteur de l'arbre est O(log n).

Soit G(h) le nombre minimum de nœuds dans un arbre AVL de hauteur h. Évidemment, G(1) vaut 1 et G(2) vaut 2. Le nombre minimum de nœuds dans un arbre AVL de hauteur h >= 3 doit avoir deux sous-arbres minimum : un de hauteur h - 1 et l'autre de hauteur h. - 2. Ainsi,

G(h) = G(h - 1) + G(h - 2) + 1

Rappelons qu'un nombre de Fibonacci à l'indice i peut être décrit en utilisant la relation de récurrence F(i) = F(i - 1) + F(i - 2). Par conséquent, la fonction G(h) est essentiellement la même que F(i). On peut prouver que

h < 1,4405 log(n + 2) - 1,3277

où n est le nombre de nœuds dans l'arborescence. Par conséquent, la hauteur d'un arbre AVL est O(log n).

Les méthodes

search, insert et delete impliquent uniquement les nœuds le long d'un chemin dans l'arborescence. Les méthodes updateHeight et balanceFactor sont exécutées à un temps constant pour chaque nœud du chemin. La méthode balancePath est exécutée en temps constant pour un nœud du chemin. Ainsi, la complexité temporelle des méthodes search, insert et delete est O(log n).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Jour 2Article suivant:Jour 2