Jean-Charles Régin Licence Informatique 2ème...

41
Al ith i t St t d Algorithmique et Structures de Données 1.1 Jean-Charles Régin Données Licence Informatique 2ème année JC Régin - ASD - L2I - 2010

Transcript of Jean-Charles Régin Licence Informatique 2ème...

Page 1: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Al ith i t St t d Algorithmique et Structures de Données

1.1

Jean-Charles Régin

Données

Licence Informatique 2ème année

JC Régin - ASD - L2I - 2010

Page 2: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tris et Tas1.2

Jean-Charles Régin

Licence Informatique 2ème année

JC Régin - ASD - L2I - 2010

Page 3: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tris : avertissementTris : avertissement3

Ce qui était vrai dans les années 70 ou 80 ne l’est plus maintenant car

On a beaucoup plus de mémoireOn a intérêt à être localisé en mémoire

JC Régin - ASD - L2I - 2010

Page 4: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

PlanPlan4

Tri par comptageTri par basepTri par insertionT i f iTri fusionTri par sélectionTri par tas

JC Régin - ASD - L2I - 2010

Page 5: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par comptageTri par comptage5

Quand on a des nombres de 1 à p on peut les trier facilement en comptant le nombre d’occurrence de chaque nombre.

On crée un tableau de p valeursOn met toutes ces valeurs à 0On traverse T. On compte le nombre de fois ou T[i] est On traverse T. On compte le nombre de fois ou T[i] est pris = on incrémente P[T[i]]Ensuite on balaie le tableau P et on copie autant de Ensuite on balaie le tableau P et on copie autant de fois une valeur qu’elle apparait dans P

JC Régin - ASD - L2I - 2010

Page 6: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par comptageTri par comptage6

Booleen tri(T[] n)Booleen tri(T[],n)min T[1]; max T[1]pour i de 1 à n {

si (T[i] < min){min T[i]

}si (T[i] > max) {

max T[i] }

}}pour k de 1 à (max-min+1) {

P[k] 0}pour i de 1 à n {

P[T[i]-min+1] P[T[i]-min+1] + 1P[T[i]-min+1] P[T[i]-min+1] + 1} i 1pour k de 1 à (max-min+1) {

pour j de 1 à P[k]{[i] k i 1T[i] k + min -1i i + 1

}}

JC Régin - ASD - L2I - 2010

Page 7: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par comptageTri par comptage7

La complexité de ce tri est de O(n +p)Si p est de l’ordre de n alors le tri est linéaire, mais p ,si p >> n ?

n=100 et p = 10 000 : c’est quadratique!n 100 et p 10 000 : c est quadratique!n=100 et p = 1 000 000 : c’est cubique !

JC Régin - ASD - L2I - 2010

Page 8: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

PlanPlan8

Tri par comptageTri par basep

Tri par insertionT i f iTri fusionTri par sélectionTri par tas

JC Régin - ASD - L2I - 2010

Page 9: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par baseTri par base9

Le tri par base (ou tri radix ou radix sort) est un algorithme de tri rapide qui suppose que les éléments à trier sont des nombres ou des chaines de caractèresCet algorithme était utilisé pour trier des cartes perforées en plusieurs passages.perforées en plusieurs passages.

JC Régin - ASD - L2I - 2010

Page 10: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par baseTri par base10

On veut trier des cartes à jouer : On fait 4 tas : un pour les ♣, un pour les ♦, un pour les ♥ et un pour les ♠Puis on trie les cartes de chaque couleur par un tri par comptage

On veut trier des noms de familleDes idées ?Des idées ?

JC Régin - ASD - L2I - 2010

Page 11: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par baseTri par base11

L' d d l L'ordre de tri est typiquement le suivant : les clefs courtes viennent avant les clefs longues, les clefs de même taille sont triées selon un ordre lexicalles clefs de même taille sont triées selon un ordre lexical.

Cette méthode correspond à l'ordre naturel des nombres s'ils sont représentés par des chaînes de chiffres.s ils sont représentés par des chaînes de chiffres.Son mode opératoire est :

prend le chiffre (ou groupe de bits) le moins significatif de p ( g p ) gchaque clef,trie la liste des éléments selon ce chiffre, mais conserve l'ordre des éléments ayant le même chiffre (ce qui est un tri stable)des éléments ayant le même chiffre (ce qui est un tri stable).répète le tri avec chaque chiffre plus significatif.

JC Régin - ASD - L2I - 2010

Page 12: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par baseTri par base12

Trier la liste : 170, 45, 75, 90, 2, 24, 802, 66tri par le chiffre le moins significatif (unités) :p g ( )170, 90, 2, 802, 24, 45, 75, 66t i l hiff i t (di i )tri par le chiffre suivant (dizaines) :2, 802, 24, 45, 66, 170, 75, 90tri par le chiffre le plus significatif (centaines) :2, 24, 45, 66, 75, 90, 170, 8022, 24, 45, 66, 75, 90, 170, 802

JC Régin - ASD - L2I - 2010

Page 13: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par baseTri par base13

Pour i de 1 à dUtiliser un tri stable pour trier le tableau T sur le digit i

digit i dans la base b du nombre ndigit(i b n) = [n / b(i-1) ] modulo bdigit(i,b,n) [n / b ] modulo bdigit(2,10,324) = [324/10] modulo 10 =2

Complexité ?

JC Régin - ASD - L2I - 2010

Page 14: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

PlanPlan14

Tri par comptageTri par basepTri par insertion

T i f iTri fusionTri par sélectionTri par tas

JC Régin - ASD - L2I - 2010

Page 15: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par insertionTri par insertion15

D l' l ith t l t bl à t i d Dans l'algorithme, on parcourt le tableau à trier du début à la fin. Au moment où on considère le i-èmeélément, les éléments qui le précèdent sont déjà triés. , q p jL'objectif d'une étape est d'insérer le i-ème élément à sa place parmi ceux qui précèdent.

trouver où l'élément doit être inséré en le comparant aux autres, décaler les éléments afin de pouvoir effectuer l'insertion décaler les éléments afin de pouvoir effectuer l insertion.

Le tri par insertion est un tri stable (conservant l'ordre d'apparition des éléments ( ppégaux) un tri en place (il n'utilise pas de tableau auxiliaire).

JC Régin - ASD - L2I - 2010

Page 16: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par insertionTri par insertion16

i i i ( [] ){Tri_insertion(T[],n){pour i de 2 à n {

← T[i]x ← T[i]j ← itant que (j > 1 ET T[j-1] > x){tant que (j > 1 ET T[j-1] > x){

T[j] ← T[j-1]j ← j – 1j ← j 1

}T[j] ← x[j]

}

JC Régin - ASD - L2I - 2010

Page 17: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par insertionTri par insertion17

Voici les étapes de l'exécution du tri par insertion sur le tableau T = [9,6,1,4,8]. Le tableau est représenté au début et à la fin de chaque itération.i = 2 96148 69148i = 3 69148 16948i 4 16948 14698i = 4 16948 14698i = 5 14698 14689

JC Régin - ASD - L2I - 2010

Page 18: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par insertionTri par insertion18

Invariant : a l’étape i: Le tableau est une permutation et les i premiers éléments sont triés

JC Régin - ASD - L2I - 2010

Page 19: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

AvantagesAvantages19

l lImplémentation simpleEfficace pour les petits ensemble de donnéesEfficace pour les ensembles de données qui sont presque déjà triés : complexité O(n + d), où d est le

b d’i inombre d’inversionsLe meilleur des cas est linéaireSStable En placeAu vol (online) : on peut trier une liste comme on la reçoit

JC Régin - ASD - L2I - 2010

Page 20: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

InconvénientsInconvénients20

Pire des cas quadratiqueFait beaucoup d’échanges (décalages)p g ( g )

JC Régin - ASD - L2I - 2010

Page 21: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

21

Complexité : si tableau presque trié alors très rapideSi une erreur : O(n)Si 2 erreurs ? 2 O(n)Si 2 erreurs ? 2.O(n)

JC Régin - ASD - L2I - 2010

Page 22: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

PlanPlan22

Tri par comptageTri par basepTri par insertionT i f sionTri fusion

Tri par sélectionTri par tas

JC Régin - ASD - L2I - 2010

Page 23: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri fusionTri fusion23

L'algorithme peut être décrit récursivement :On découpe en deux parties à peu près égales les p p p p gdonnées à trierOn trie les données de chaque partieOn trie les données de chaque partieOn fusionne les deux partiesLa récursivité s'arrête car on finit par arriver à des listes composées d'un seul élément et le tri est alors trivial.

JC Régin - ASD - L2I - 2010

Page 24: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri fusionTri fusion24

Complexité : O(n log(n))Chaque niveau procède à des fusions dont le coût total est O(n)La profondeur maximale est log(n)

JC Régin - ASD - L2I - 2010

Page 25: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

AvantagesAvantages25

Très bonne complexitéToujours au pire O(n log(n))j p ( g( ))Pénible à écrire pour des tableauxO t tili d’ t t i tOn peut utiliser d’autres tris par moment

JC Régin - ASD - L2I - 2010

Page 26: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

PlanPlan26

Tri par comptageTri par basepTri par insertionT i f iTri fusionTri par sélection

Tri par tas

JC Régin - ASD - L2I - 2010

Page 27: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par SélectionTri par Sélection27

Sur un tableau de n éléments (numérotés de 1 à n), le principe du tri par sélection est le suivant :

rechercher le plus petit élément du tableau, et l'échanger avec l'élément d'indice 1 ;rechercher le second plus petit élément du tableau, et l'échanger avec l'élément d'indice 2 ;continuer de cette façon jusqu'à ce que le tableau soit entièrement trié.

JC Régin - ASD - L2I - 2010

Page 28: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par SélectionTri par Sélection28

id t i l ti (T[] ) {void tri_selection(T[], n) {pour i de 1 à n – 1{

min ← i pour j de i + 1 à n {

si (T[j] < T[min]){min ← j jsi (min ≠ i) {

échanger(T[i],T[min])}}

}}

}}

JC Régin - ASD - L2I - 2010

Page 29: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par SélectionTri par Sélection29

L'invariant de boucle suivant permet de prouver la correction de l'algorithme :

à la fin de l'étape i, le tableau est une permutation du tableau initial et les i premiers éléments du tableau coïncident avec les i premiers éléments du tableau trié.

JC Régin - ASD - L2I - 2010

Page 30: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par SélectionTri par Sélection30

T i l (l élé t t t ié d l t t ) Tri sur place (les éléments sont triés dans la structure) Complexité

Dans tous les cas, pour trier n éléments, le tri par sélection effectue n(n-, p , p (1)/2 comparaisons. Sa complexité est donc O(n2). De ce point de vue, il est inefficace. Il est même moins bon que le tri par insertion

Par contre, le tri par sélection n'effectue que peu d'échanges :n-1 échanges dans le pire cas, qui est atteint par exemple lorsqu'on trie la séquence 2,3,…,n,1 ;en moyenneyaucun si l'entrée est déjà triée.

Ce tri est donc intéressant lorsque les éléments sont aisément comparables mais coûteux à déplacer dans la structurecomparables, mais coûteux à déplacer dans la structure.

JC Régin - ASD - L2I - 2010

Page 31: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

PlanPlan31

Tri par comptageTri par basepTri par insertionT i f iTri fusionTri par sélectionTri par tas

JC Régin - ASD - L2I - 2010

Page 32: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par Sélection et Tri par TasTri par Sélection et Tri par Tas32

Le tri par tas fonctionne comme le tri par sélection mais utilise une structure de données particulière pour accélérer la recherche : un tas

JC Régin - ASD - L2I - 2010

Page 33: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tas : structure de donnéesTas : structure de données33

U t d d t t b bi i é ifi t l iété Un tas descendant est un arbre binaire vérifiant les propriétés suivantes :

la différence maximale de profondeur entre deux feuilles est de 1 (i.e. t t l f ill t t l d iè l' t d iè toutes les feuilles se trouvent sur la dernière ou sur l avant-dernière ligne) ;les feuilles de profondeur maximale sont "tassées" sur la gauche.h d d l i fé i à ll d d filchaque noeud est de valeur inférieure à celle de ces deux fils.

Un tas ou un arbre binaire presque complet peut être stocké dans un p q p ptableau, en posant que les deux descendants de l'élément d'indice n sont les éléments d'indices 2n et 2n+1 (pour un tableau indicé à partir de 1). En d'autres termes, les noeuds de l'arbre sont placés dans le tableau ligne par ligne, chaque ligne étant décrite de gauche à droite.

JC Régin - ASD - L2I - 2010

Page 34: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tas : structure de donnéesTas : structure de données34

U d dUn tas est descendant sichaque noeud est de valeur inférieure à celle de ces deux fils.

P iété Propriétés Chaque chemin est croissantLe père est le minimumLe père est le minimum

Un tas est ascendant sichaque noeud est de valeur supérieure à celle de ces deux chaque noeud est de valeur supérieure à celle de ces deux fils. Propriétés p

Chaque chemin est décroissantLe père est le maximum

JC Régin - ASD - L2I - 2010

Page 35: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tas : insertion Tas : insertion 35

L'insertion d'un élément dans un tas se fait de la façon suivante :

on place l'élément sur la première case libreon échange l'élément et son père tant que ce dernier g p qest supérieur et qu'il existe.

JC Régin - ASD - L2I - 2010

Page 36: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tas : insertion Tas : insertion 36

inserer(T[],n,d,elt){T[d] ← eltpère ← d/2père ← d/2fils ← dtant que(père > 0 ET T[père]>T[fils]){q p p

échanger(T[père],T[fils])fils ← pèreè è /père ← père/2

}}}

JC Régin - ASD - L2I - 2010

Page 37: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tas : extractionTas : extraction37

L'opération de tamisage consiste à échanger la racine avec le plus petit de ses fils (si elle est plus grande), et ainsi de suite récursivement jusqu'à ce qu'elle soit à sa place.

L’extraction consiste à L extraction consiste à Supprimer la racine M à l l d i élé d Mettre à sa place le dernier élément du tasTamiser le tas

JC Régin - ASD - L2I - 2010

Page 38: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tas : tamisage et extractionTas : tamisage et extraction38

tamiser(T[] n){tamiser(T[],n){père ←1fils ← 2*père fini ← fauxfini ← fauxtant que (fils ≤ n ET non fini){

si (fils<n ET T[fils+1]< T[fils]){fils ← fils+1

}si (T[père] > T[fils]){

échanger(T[père],T[fils])père ← filspère ← filsfils ← 2*père

} sinon {fini ← vrai

}}

}

JC Régin - ASD - L2I - 2010

Page 39: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tas : tamisage et extractionTas : tamisage et extraction39

entier extraire(T[],n){res ← T[1] échanger (T[1],T[n])tamiser(T,n-1)retourner res

}

JC Régin - ASD - L2I - 2010

Page 40: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

Tri par tasTri par tas40

On insère tous les éléments dans le tableauOn extrait successivement toutes les racines

JC Régin - ASD - L2I - 2010

Page 41: Jean-Charles Régin Licence Informatique 2ème annéedeptinfo.unice.fr/~regin/cours/cours/ASD/C3_AlgoSdd_Tri... · 2010. 10. 18. · Tri par insertion 15 D l' l ith t l t bl à t

TasTas41

Le tri par tas a certains défauts mais la structure de tas est très pratique pour répondre à d’autres problèmes

JC Régin - ASD - L2I - 2010