Desole pas de resultat

Flickr Badge Arbre

Revue de presse Arbre_AVL
shout shout

google_ad_height = 15; google_ad_format = "728x15_0ads_al"; google_ad_channel =""; google_color_border = "f9f9f9"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_url = "008000"; google_color_text = "000000"; //-->

Un article de Wikipedia.y-project.com.

Image:Crystal mycomputer.png
Image:Arbre-non-avl.png
Un exemple d'arbre non-AVL

En informatique, les arbres AVL sont les premiers arbres binaires de recherche balancés inventés. Dans un arbre AVL, les hauteurs des deux sous-arbres d'un même noeud diffèrent au plus de un. La recherche, l'insertion et la supression sont toutes en O(ln n) dans le pire des cas. L'insertion et la suppression nécessitent d'effectuer des rotations.

La dénomination "arbre AVL" provient des noms de ses deux inventeurs, respectivement G.M. Adelson-Velsky et E.M. Landis, qui l'ont publié en 1962 sous le titre "An algorithm for the organization of information".

Le facteur d'équilibrage d'un noeud est la différence entre lahauteur de son sous-arbre droit et celle de son sous-arbre gauche. Un noeud dont le facteur d'équilibrage est 1, 0, ou -1 est considéré comme équilibré ou balancé. Un noeud avec tout autre facteur est considéré comme déséquilibré et requiert un rééquilibrage. Le facteur d'équilibrage est soit déduit des hauteurs des sous arbres, soit stocké dans chaque noeud de l'arbre (ce qui permet un gain de place, ce facteur pouvant être stocké sur deux bits, mais complexifie les opérations d'insertion et de suppression).

Image:Arbre AVL.png
Le même arbre après un rééquilibrage


Sommaire

[] Opérations

Les opérations de base d'un arbre AVL mettent en oeuvre généralement les mêmes algorithmes que pour une arbre binaire de recherche, à ceci près qu'il faut ajouter des rotations de rééquilibrage nommées "rotations AVL".

[] Insertion

L'insertion dans un arbre AVL se déroule en deux étapes: tout d'abord, on insère le noeud exactement de la même manière que dans un arbre binaire de recherche, puis on remonte depuis le noeud inséré vers la racine en effectuant une rotation sur chaque sous-arbre déséquilibré. La hauteur de l'arbre étant en <math>O(ln(n))</math>, et les rotations étant à temps constant, l'insertion se fait finalement en <math>O(ln(n))</math>.

[] Suppression

La suppression dans un arbre AVL peut se faire par rotations successives du noeud à supprimer jusqu'à une feuille (en choisissant ces rotations de sorte que l'arbre reste équilibré), et ensuite en supprimant cette feuille directement. La suppression se fait aussi en <math>O(ln(n))</math>.

[] Recherche

La recherche dans un arbre AVL se déroule exactement de la même manière que pour un arbre binaire de recherche, et comme la hauteur d'un arbre AVL est en <math>O(ln(n))</math>, elle se fait donc en <math>O(ln(n))</math>. Contrairement aux arbres splay, la recherche ne modifie pas la structure de l'arbre.

[] Voir aussi

[] Références

  • G. Adelson-Velskii et E.M. Landis, "An algorithm for the organization of information." Doklady Akademii Nauk SSSR, 146:263–266, 1962.
  • Donald Knuth. The Art of Computer Programming, Volume 3: Sorting and Searching, Troisième Edition. Addison-Wesley, 1997. ISBN 0-201-89685-0. Pages 458–475 de la section 6.2.3: Balanced Trees. NB: Knuth appelle les arbres AVL "balanced trees".

[] Liens externes

 

shout
Réagissez


Attention! tous les commentaites inaproprié seront supprimés
Titre:
Video YouTube ou google: (doit être en rapport avec le sujet)
Votre mail:
Un pseudo:
Votre site:
Commentaire (le html n'est pas autorisé, nombre de caractère maximum = 400)
  save (Comment eBabylone 1.0 beta)

Le Texte ci-dessus est disponible sous GNU Free Documentation License.
La source est wikipedia http://fr.wikipedia.org/wiki/Arbre AVL
Base de liens  |  Ajouter lien  |  Contact Rss
On est 11 visiteur(s) en ligne
Server 2.0