Intro - selection

Intro - selection

Trier #

PDF : Pour impression

Définition. #

Algorithme de tri

Algorithme qui, partant d’une liste, renvoie une version ordonnée de la liste. [5,1,4,3,2] -> [1,2,3,4,5]

Pourquoi ? #

Trier est une opération fréquente, certains algorithmes (dichotomie par exemple) partent d’un tableau déjà trié.

Tous les langages “haut niveau” proposent une fonction native pour trier les tableaux.

En terminale on utlisera des bases de données pour répondre à des questions du type :

" Quels sont les 5 films les plus vus au cinéma ? “

ou bien :

” Déterminer les 100 derniers inscrits à un jeu en ligne “

Ces sélections nécessitent un tri

Notre objectif n’est pas d’utiliser en pratique nos algorithmes mais de comprendre leur fonctionnement.

De nombreux algorithmes #

Il existe de nombreux algorithmes de tri et ils ne se valent pas. Certains sont plus efficaces que d’autres de manière générale, d’autres sont pratiques dans des cas particuliers.

Citons par exemple :

  • Tri par insertion -> 1ère
  • Tri par sélection -> 1ère
  • Tri à bulle
  • Tri rapide
  • Tri fusion -> Terminale
  • Tri par tas
  • Smoothsort
  • Timsort -> Python

Les algorithmes de première ont des caractéristiques communes : il sont simples et lents.

Activité : Trier des boîtes #

L’important, c’est comment ?

Description de la séquence #

  • Vous disposez de boîtes opaques contenant des poids différents,
  • Vous pouvez aisément comparer deux boîtes entre elles afin de repérer la plus légère,
  • Il est impossible de connaître la masse des boîtes.

Vous avez 25 minutes pour :

  1. écrire un algorithme “papier” qui réalise le tri des boites
  2. permette à n’importe qui de le reproduire et d’aboutir au résultat
  3. aucune explication supplémentaire ne doit être apportée

Généralement, les élèves proposent un des trois algorithmes “naturels” :

  • tri par sélection,
  • tri par insertion,
  • tri à bulle.

Nous allons d’abord étudier le tri par sélection.

Tri par sélection #

Je débute avec un tableau non trié plein et un tableau trié vide.
Tant qu'il y a des objets non triées :
   Je cherche le plus petit des objets non triés,
   Je le place à la suite des objets déjà triés.
fin Tant que

Le plus petit des objets non triés #

Entrée : Des objets
Sortie : L'objet le plus petit

Je prends un objet
Pour chacun des autres:
    S'il est plus petit que l'objet choisi
      Alors j'échange.
	Fin Si
	Je mets l'autre de côté.
Fin Pour