I TRI PAR S
´
ELECTION
Un algorithme de tri est, en informatique ou en math´ematiques, un algorithme qui
permet d’organiser une collection d’objets selon une relation d’ordre d´etermin´ee. On
retrouve ces algorithmes dans les bases de donn´ees, dans les moteurs de recherche
jusque dans les jeux 3-D o`u les facettes des objets sont affich´ees par ´eloignement crois-
sant.
I.
1 -
Sur une liste de n ´el´ements, le principe du tri par s´election est le suivant
:
•rechercher le plus petit ´el´ement du tableau, et le placer en premi`ere
position
•rechercher le second plus petit ´el´ement du tableau et le placer en
seconde position;
•continuer de cette fa¸con jusqu’`a ce que le tableau soit enti`erement
tri´e.
D´efinition :
´
Ecrire les ´etapes de l’ex´ecution du tri par selection de L=[9,6,1,4,8]. On
pr´esentera les r´esultats sous forme de tableau avecminle minimum de la
listeLetLtrila liste tri´ee.
Exemple 1 :
L min Ltri
[9,6,1,4,8]1 [1]
[9,6,4,8]4 [1,4]
[9,6,8]6 [1,4,6]
[9] 9[1,4,6,8,9]
Figure 1: Illustration du tri par s´el´ection
2 -
□1 - D´efinir une fonctionminindice(L) renvoyant le minimum et son
indice de la listeL.
□2 - Proposer une fonctiontriselectionpermettant d’obtenir une liste
Ltritri´ee issue deL. On pourra utiliser la m´ethodepop(i) qui supprime
l’´el´ement de positionid’une liste.
Exemple 2 :
1defmin_indice ( L ):
2 m = L [0]
3 indice = 0
4 forkinrange(len( L )):
5 ifm > L [ k ]:
6 m = L [ k ]
7 indice = k
8 returnm , indice
Le tri par s´election s’obtient alors simplement
JB, NG, SR