diff --git a/slides/cours_7.md b/slides/cours_7.md index 3c2fea05e600532f505763eecf30e8c2068e25bd..2b5abd9374fb32d4e729807624046600a231a966 100644 --- a/slides/cours_7.md +++ b/slides/cours_7.md @@ -149,36 +149,42 @@ Non c'est normal, faisons un exemple. # Tri rapide ou quicksort (3/8) +\footnotesize + Deux variables sont primordiales: ```C -int low, high; // les indices min/max des tableaux à trier +entier int_min, ind_max; // les indices min/max des tableaux à trier ```  # Tri rapide ou quicksort (4/8) +\footnotesize + Deux variables sont primordiales: ```C -int low, high; // les indices min/max des tableaux à trier +entier ind_min, ind_max; // les indices min/max des tableaux à trier ``` ## Pseudocode: quicksort ```python -rien quicksort(entier tableau[], ind_min, ind_max) +rien quicksort(entier tableau[], entier ind_min, entier ind_max) si (longueur(tab) > 1) ind_pivot = partition(array, ind_min, ind_max) si (longueur(tableau[0:ind_pivot-1]) != 0) - quicksort(tableau, ind_min, pivot_ind - 1); + quicksort(tableau, ind_min, pivot_ind - 1) si (longueur(tableau[ind_pivot+1:ind_max-1]) != 0) quicksort(tableau, ind_pivot + 1, ind_max) ``` # Tri rapide ou quicksort (5/8) +\footnotesize + ## Pseudocode: partition ```C @@ -187,9 +193,9 @@ entier partition(entier tableau[], entier ind_min, entier ind_max) i = ind_min; j = ind_max-1; tant que i < j: - en remontant i trouver le premier élément > pivot; - en descendant j trouver le premier élément < pivot; - échanger(array[i], array[j]); + en remontant i trouver le premier élément > pivot + en descendant j trouver le premier élément < pivot + échanger(array[i], array[j]) // les plus grands à droite // mettre les plus petits à gauche @@ -325,7 +331,7 @@ rien tri_a_bulles(entier tableau[]) trié = vrai pour j de 0 à i-1: si (tableau[j] > tableau[j+1]) - swap(array[j], array[j+1]) + échanger(array[j], array[j+1]) trié = faux si trié