Cours d'informatique sur les algorithmes et les structures de données. Le document traite ainsi des structures arborescentes, des graphes, et du problème de recherche (se référer au plan qui suit pour plus de détails). Document illustré de 5400 mots au format Word.
[...] voire partie sur les arbres binaires de recherche Quicksort Principe On choisit une des clés de la liste (par exemple, celle du premier élément), et on l'utilise comme pivot. On construit sur place une sous-liste dont les clés sont inférieures ou égales au pivot et une sous-liste dont les clés sont strictement supérieurs au pivot. Le pivot p a alors sa place définitive. Et on recommence récursivement sur chacune des deux sous-listes. à la fin, la liste est triée par ordre croissant. Remarquons que le choix du pivot est délicat ; de lui dépend l'équilibrage des deux sous listes. [...]
[...] On effectue en tout p + 1 comparaisons. Complexité du Quicksort, au pire: Le graphe des appels du Quicksort est un arbre binaire. La complexité au pire en nombre de comparaisons est obtenu pour t déjà trié est en prenant à chaque fois le 1er élément comme pivot. Le graphe des appels sera dégénéré (peigne) et va induire une complexité au pire en O ( Complexité du Quicksort, en moyenne : On suppose que les n nombres sont distincts, et que le pivot va occuper la pième place de la liste à trier. [...]
[...] Procédure Parcours(A : arbre) ; début Si A = Ø Alors T0 Sinon début T1 ; Parcours(g(A)) ; T2 ; Parcours(d(A)) ; T3 ; fin ; fin ; Chaque nœud est visité trois fois. à chaque visite correspond un traitement Ti et un ordre de parcours. T1 s'effectue avant la descente gauche et décrit l'ordre préfixe ou pré-ordre. T2 s'effectue après la remontée gauche et avant la remontée droite, l'ordre associé est l'ordre infixe ou symétrique. Le traitement T3 est réalisé après la remontée droite ; les nœuds sont parcourus dans l'ordre suffixe ou post-fixe. On ajoute un traitement particulier T0 pour les nœuds vides. [...]
[...] Comme un seul appel va être conservé, on l'effectuera systématiquement sur la plus petite des deux sous-listes. La taille de récursion sera en O (log2 car on divisera par 2 la taille de la liste d'appel. Procédure Quicksort t : tableau de 1 à n+1 entiers , i : entier , j : entier) utilise localement k : entier début tant que i - alors début Quicksort , i , k - i k + 1 fin sinon début Quicksort , k + j k - 1 fin finfin Heapsort Tri par tas C'est un tri par sélection des minimums successifs basé sur une structure de tas. [...]
[...] - k part de j et recule tant que l'on rencontre un élément > à a. On échange les deux éléments et on recommence la progression jusqu'à ce que les deux compteurs se croisent : la place définitive du pivot est en et on y place le pivot a par échange avec un élément à a. Si on utilise la procédure Placer sur un sous-tableau qui n'est pas à la fin de ( x = existe alors l'élément x est un pivot placé antérieurement. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture