Outils pour utilisateurs

Outils du site


les_programmes_a_connaitre:algorithmique_premiere:tri_selection

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
les_programmes_a_connaitre:algorithmique_premiere:tri_selection [2022/12/29 17:27]
mm
les_programmes_a_connaitre:algorithmique_premiere:tri_selection [2023/01/21 18:34]
mm
Ligne 7: Ligne 7:
  
 ====== Comment ça marche ? ====== ====== Comment ça marche ? ======
 +{{:les_programmes_a_connaitre:algorithmique_premiere:tri_selection1.gif?100 |}}
 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.  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. 
  
Ligne 14: Ligne 14:
 Continuer de cette façon jusqu'à ce que le tableau soit entièrement trié. Continuer de cette façon jusqu'à ce que le tableau soit entièrement trié.
  
-{{:les_programmes_a_connaitre:algorithmique_premiere:tri_selection1.gif|}} \\ \\  + 
-Le rouge est ic le minimum et le bleu le "cursseur" qui vérifie si il est plus petit que le le minimum enregistré+Le rouge est ici le minimum et le bleu le "curseur" qui vérifie s'il est plus petit que le minimum enregistré
  
 ====== Comment on fait ? ====== ====== Comment on fait ? ======
Ligne 53: Ligne 53:
 </code>  </code> 
  
-===== Ancienne Version =====+===== La Complexité =====
  
 +La complexité, c'est le nombre de fois que va "boucler" notre programme en fonction de la taille de l'entrée. ex : donner la taille d'une liste sans utiliser la fonction "len()" serait de complexite O(n).
  
-Cet algorithme permet le tri d'un tableau d'entiers en mettant par ordre croissant les nombres présents dans celui-ci. +Dans notre cas, la complexité est de O(n²) on appelle cela une complexité quadratique, c'est-à-dire que le nombre d'oppération est proportionnelle au carré de l'entrée 
- +
-**Algorithme:** \\ +
-{{:les_programmes_a_connaitre:algorithmique_premiere:tri_selection2.png?300 |}} +
-<code python> +
-""" +
-Entrée :    tab : tableau/list -> non trié +
-Sortie :    tab : tableau/list -> trié ( dans l'ordre croissant ) +
-Objectif :  Trié le tableau tab, avec la méthode par sélection +
-"""+
  
-def tri_selection(tab): +{{:les_programmes_a_connaitre:algorithmique_premiere:screenshot_from_2023-01-21_18-25-10.png?400|}}{{ :les_programmes_a_connaitre:algorithmique_premiere:screenshot_from_2023-01-21_18-24-52.png?400|}}
-     +
-   for i in range(len(tab))# Répétition pour modifier tout le tableau +
-        +
-       min = i # Intialisation de Variable +
-        +
-       for j in range(i+1, len(tab))# Pour balayer tout le tableau +
-           if tab[min] > tab[j]: # Si on trouve un nombre plus petit +
-               min = j # Décalage +
-                 +
-       k = tab[i] # Décalage +
-       tab[i] = tab[min] # Décalage +
-       tab[min] = k # Décalage +
-        +
-   return tab # Renvoyer tab +
-</code> \\ +
-{{  :les_programmes_a_connaitre:algorithmique_premiere:tri_selection1.gif|}} \\ \\ +
-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é.__+
  
les_programmes_a_connaitre/algorithmique_premiere/tri_selection.txt · Dernière modification: 2023/01/21 18:34 de mm