Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
les_programmes_a_connaitre:algorithmique_premiere:tri_selection [2022/03/25 11:54] cl |
les_programmes_a_connaitre:algorithmique_premiere:tri_selection [2022/12/29 17:31] mm |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Algorithme de tri par sélection:====== | + | ====== Algorithme de tri par sélection ====== |
---- | ---- | ||
+ | ====== Qu' | ||
- | Cet algorithme permet le tri d'un tableau d'entiers en mettant par ordre croissant les nombres présents dans celui-ci. | + | Un algorithme |
+ | |||
+ | ====== Comment ça marche ? ====== | ||
+ | |||
+ | Dans une Liste à n élément (d’indice 0 à n-1, car on commence par 0 et non par 1), l’algorithme cherche le plus petit entier de la liste et l'échange avec l’élément d’indice 0. | ||
+ | |||
+ | Rechercher le second plus petit élément du tableau, et l' | ||
+ | |||
+ | Continuer de cette façon jusqu' | ||
+ | |||
+ | {{: | ||
+ | Le rouge est ici le minimum et le bleu le " | ||
+ | |||
+ | ====== Comment on fait ? ====== | ||
- | **Algorithme: | ||
- | {{: | ||
<code python> | <code python> | ||
- | # -*- coding: utf-8 -*- | + | |
+ | """ | ||
+ | Algorithme de tri par sélection | ||
+ | """ | ||
+ | |||
+ | # Initialisation de Variables | ||
+ | t = [1, | ||
+ | |||
""" | """ | ||
- | Fiche de Révision - Trie par sélection | + | Objectif : Algorithme |
+ | Entrée : Liste | ||
+ | Sortie : Liste trié | ||
""" | """ | ||
+ | def tri_select(t): | ||
+ | for i in range(len(t)-1): | ||
+ | min = i # min = l' | ||
+ | for j in range(i, | ||
+ | if t[j] < t[min] : # si l' | ||
+ | min = j # l' | ||
+ | t[min],t[i] = t[i],t[min] # échange l' | ||
+ | return t | ||
+ | |||
+ | #Programme principal | ||
+ | |||
+ | print(t) | ||
+ | # [1, 6, 9, 3, 2, 0, 7, 5, 8, 4] | ||
+ | |||
+ | print(tri_select(t)) | ||
+ | # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] | ||
- | # Intialisation de Variable | ||
- | tab = [98, 22, 15, 32, 2, 74, 63, 70] | ||
- | # Fin Initialisation de Variable | ||
- | # Fonction | + | </ |
+ | |||
+ | ===== Ancienne Version ===== | ||
+ | |||
+ | |||
+ | Cet algorithme permet le tri d'un tableau d' | ||
+ | |||
+ | **Algorithme: | ||
+ | {{: | ||
+ | <code python> | ||
""" | """ | ||
Entrée : tab : tableau/ | Entrée : tab : tableau/ | ||
Ligne 39: | Ligne 82: | ||
| | ||
- | |||
- | |||
- | |||
- | #Fin Fonction | ||
- | |||
- | # Programme Principal | ||
- | print(tab) # Intialisation | ||
- | print(tri_selection(tab)) # Lancement de Variable | ||
</ | </ | ||
{{ : | {{ : | ||
La méthode par __sélection__ divise tout d’abord le tableau ( liste ) en deux : une partie triée et une autre non triée, pour délimiter cela il y a des bornes ( représenter par des variable, souvent appelés “ debut” et “fin” ). Contrairement à celle par insertion cette méthode __cherche le plus petit élément du tableau__ ( de la partie non trié ) puis cette élément __échange sa place avec celui qui est à la première place du tableau non trié__ et après ce décalage __il fera partie de la partie trié.__ | La méthode par __sélection__ divise tout d’abord le tableau ( liste ) en deux : une partie triée et une autre non triée, pour délimiter cela il y a des bornes ( représenter par des variable, souvent appelés “ debut” et “fin” ). Contrairement à celle par insertion cette méthode __cherche le plus petit élément du tableau__ ( de la partie non trié ) puis cette élément __échange sa place avec celui qui est à la première place du tableau non trié__ et après ce décalage __il fera partie de la partie trié.__ | ||