Aller au contenu

Introduction aux algorithmes de tri

Programme

Notions Compétences Remarques
Tris par insertion, par sélection Écrire un algorithme de tri.
Décrire un invariant de boucle qui prouve la correction des tris par insertion, par sélection.
La terminaison de ces algorithmes est Ă  justifier.
On montre que leur coût est quadratique dans le pire cas.
Le tri en informatique

Dans la vie courante, les deux verbes trier et classer ne sont pas synonymes. - Trier ou effectuer un tri c’est répartir les éléments en paquets correspondant à un certain critère : par exemple séparer les déchets selon leur nature, les personnes d’une assemblée selon leur sexe ou selon leur langue maternelle.

tri1

  • Classer ou effectuer un classement c’est mettre des Ă©lĂ©ments selon un certain ordre : par exemple ranger les personnes d’une assemblĂ©e de la plus petite Ă  la plus grande, ou de la plus jeune Ă  la plus âgĂ©e.

tri2

DĂ©finition Ă  retenir

En informatique le tri est Ă  prendre avec le sens de classement.

Vidéo : Les algorithmes de tri

Animation : Différentes méthodes de tri

Changer le type de tri et cliquer sur commencer pour visualiser les Ă©tapes de l'algorithme.

⚠ Seuls les tris par insertion et sélection sont au programme en NSI.

Astuce Python : tri natif avec sorted() et sort()

En Python, nous pouvons utiliser la fonction built-in sorted() pour créer une nouvelle liste triée.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Il est également possible d'utiliser la méthode .sort() des objets de type list pour les trier en place.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Compléments

Pour approfondir : Interstices