Netencyclo, The wikipedia mirror - The biggest multilingual encyclopedia : Introsort

- Introsort -

Introsort :

Outils :

Vous avez un site web ? Un blog ?

 Netencyclo Directory Project 




Mettre en favoris !

Add to Netvibes
Technorati reactions
rencontre

Introsort

Un article de Wikipédia, l'encyclopédie libre.

Introsort ou introspective sort est un algorithme de tri en O(nlogn) quelles que soient les données de départ. C'est une amélioration du tri rapide trouvée par David Musser en 1997.

[modifier] Principe

L'algorithme quicksort est ralenti lorsque le pivot choisi est à chaque fois à la fin ou au début de la sous-liste triée. Dans ce cas, le nombre de récursion est en O(n) et le temps total en O(n2), ce qui est un temps comparable à un tri par sélection. Mais, mis à part le cas de récursion linéaire, le tri rapide, comme son nom l'indique est rapide, c'est-à-dire en O(nlogn).

Introsort pour pallier cet inconvénient, utilise un compteur de récursion. Ainsi il mesure au fur et à mesure la profondeur de récursion en cours (d'où le nom de l'algorithme). Quand la profondeur dépasse Klogn où K est un constante, un algorithme en O(nlogn) est utilisé pour trier les sous-listes restantes : un tri par tas, un Smoothsort etc.

Tout comme le tri rapide, Introsort peut être optimisé en triant les sous-listes de moins de 15 éléments avec un tri par insertion ou un tri de Shell, au fur et à mesure, ou à la fin (principe de Sedgesort).

[modifier] Algorithme

Avec A: Tableau et n = Longueur(A)

Faire Introsort(A, 2*PartieEntière(Log2(n)) )

[modifier] Voir aussi

rencontre

Introsort - En savoir plus

Rencontre Introsort - Articles à  la une


"Je rencontre quelques peines, je rencontre beaucoup de joie, c'est parfois une question de chance, souvent une rencontre de choix."
© 2008 Netencyclo - Netencyclo Home - Terms of Service - Privacy Policy - Program Policies
Netencyclo, the Wikipedia mirror : the biggest multilingual free-content encyclopedia on the Internet. Cet article, miroir de l'article de Wikipédia est conforme aux termes de la GFDL All Wikipedia content is licensed under the GNU Free Documentation License (see details). Content on this web site is provided for informational purposes only. We accept no responsibility for any loss, injury or inconvenience sustained by any person resulting from information published on this site. We encourage you to verify any critical information with the relevant authorities.