💻nsi

Les algorithmes de tri : astuces pour réussir en NSI

4 juillet 2026 7 min de lecture

Les algorithmes de tri sont au cœur du programme de NSI en Première et Terminale. Que ce soit pour organiser des données, préparer une recherche efficace ou simplement comprendre comment fonctionne un tri, tu vas les croiser souvent. Pas de panique : avec les bonnes astuces, tu vas les maîtriser rapidement !

Pourquoi les algorithmes de tri sont essentiels en NSI ?

Trier, c'est ordonner un ensemble d'éléments selon un critère (par exemple, du plus petit au plus grand). C'est une opération fondamentale en informatique : les bases de données, les moteurs de recherche, les applications de gestion utilisent le tri en permanence. En NSI, étudier les algorithmes de tri te permet de comprendre des concepts clés comme la complexité algorithmique, la comparaison d'algorithmes et l'optimisation du code.

Au programme, tu rencontreras principalement le tri par insertion et le tri par sélection, ainsi que le tri fusion et le tri rapide en Terminale. Ces algorithmes sont parfaits pour apprendre à raisonner sur l'efficacité d'un programme.

Les deux algorithmes de tri simples à connaître

Commençons par les deux algorithmes de tri classiques au programme de Première : le tri par sélection et le tri par insertion. Ils sont faciles à comprendre et à implémenter en Python.

Le tri par sélection

Le principe est simple : on parcourt la liste, on cherche le plus petit élément, et on le place en première position. Puis on recommence sur le reste de la liste. Voici le code Python :

def tri_selection(liste):
    n = len(liste)
    for i in range(n):
        # Recherche du minimum dans la partie non triée
        min_index = i
        for j in range(i+1, n):
            if liste[j] < liste[min_index]:
                min_index = j
        # Échange du minimum avec l'élément en position i
        liste[i], liste[min_index] = liste[min_index], liste[i]
    return liste

Ce code est correct et testable. Tu peux l'essayer avec print(tri_selection([3, 1, 4, 1, 5, 9, 2, 6])).

Le tri par insertion

Le tri par insertion fonctionne comme le classement de cartes : on prend un élément et on l'insère à sa bonne place dans la partie déjà triée. Voici le code :

def tri_insertion(liste):
    n = len(liste)
    for i in range(1, n):
        cle = liste[i]
        j = i - 1
        # Décaler les éléments plus grands que la clé
        while j >= 0 and liste[j] > cle:
            liste[j+1] = liste[j]
            j -= 1
        liste[j+1] = cle
    return liste

Teste-le avec print(tri_insertion([3, 1, 4, 1, 5, 9, 2, 6])).

Complexité et comparaison : quel algorithme choisir ?

En NSI, tu dois savoir comparer les algorithmes de tri selon leur complexité temporelle. Le tri par sélection et le tri par insertion ont tous deux une complexité en O(n²) dans le pire des cas, mais le tri par insertion est plus efficace si la liste est déjà presque triée (complexité linéaire dans le meilleur des cas). Le tri fusion et le tri rapide, que tu verras en Terminale, sont en O(n log n) et sont bien plus rapides pour de grandes listes.

Astuce : pour t'en souvenir, pense que le tri par insertion est bon pour des petites listes ou des listes quasi triées, tandis que le tri par sélection a un comportement constant quel que soit l'ordre initial.

Cas d'usage concret : trier des notes d'élèves

Imagine que tu as une liste de notes d'élèves et que tu veux les afficher du meilleur au plus mauvais. Tu peux utiliser le tri par insertion ou par sélection. Par exemple :

notes = [12, 8, 15, 10, 18]
notes_triees = tri_insertion(notes)
print(notes_triees)  # Affiche [8, 10, 12, 15, 18]

Si tu veux les trier dans l'ordre décroissant, il suffit de modifier la condition de comparaison. C'est une excellente manière de t'entraîner à adapter un algorithme.

Conseils pour réussir l'épreuve du bac NSI

Voici quelques astuces pour briller sur les algorithmes de tri lors de l'épreuve écrite ou pratique :

  • Connaître le code par cœur : entraîne-toi à écrire les fonctions sans regarder. Tu dois être capable de les produire en quelques minutes.
  • Comprendre le mécanisme : ne te contente pas d'apprendre par cœur. Dessine l'évolution de la liste sur un papier pour chaque étape. C'est la meilleure façon de ne pas se tromper.
  • Analyser la complexité : sois prêt à justifier pourquoi le tri par insertion est en O(n²) dans le pire des cas et O(n) dans le meilleur.
  • Adapter le code : l'épreuve peut te demander de modifier l'algorithme (trier des chaînes, trier en ordre inverse, etc.). Entraîne-toi sur des variantes.
  • Utiliser les ressources : consulte les cours, les exercices et les fiches du site pour t'entraîner. Tu peux aussi trouver des vidéos explicatives sur AlloBac.

Conclusion

Les algorithmes de tri sont un passage obligé en NSI, mais avec de la pratique et une bonne compréhension, tu les maîtriseras sans difficulté. N'oublie pas : le code, c'est comme un sport, plus tu t'entraînes, meilleur tu deviens. Alors lance-toi, écris du code, teste, et n'hésite pas à demander de l'aide sur AlloLycée si tu bloques. Bon courage !

📚 Pour aller plus loin

Questions fréquentes

Quelle est la différence entre le tri par insertion et le tri par sélection ?

Le tri par sélection cherche le plus petit élément restant et le place au début, tandis que le tri par insertion prend un élément et l'insère à sa bonne place dans la partie déjà triée. Le tri par insertion est plus efficace sur des listes presque triées.

Quel est l'algorithme de tri le plus rapide en NSI ?

Parmi ceux vus en NSI, le tri rapide (quicksort) et le tri fusion (mergesort) sont les plus rapides avec une complexité en O(n log n). En Première, on étudie surtout le tri par insertion et par sélection, qui sont en O(n²).

Comment calculer la complexité d'un algorithme de tri ?

On compte le nombre d'opérations élémentaires (comparaisons et échanges) en fonction de la taille n de la liste. Pour le tri par sélection, il y a n²/2 comparaisons en moyenne, soit O(n²). Pour le tri par insertion, c'est aussi O(n²) dans le pire cas, mais O(n) si la liste est déjà triée.

Peut-on trier une liste de chaînes de caractères avec ces algorithmes ?

Oui, tout à fait. Les opérateurs de comparaison en Python (comme <) fonctionnent aussi sur les chaînes (ordre lexicographique). Il suffit d'appeler la même fonction avec une liste de chaînes.

Comment adapter un tri pour trier dans l'ordre décroissant ?

Il suffit de changer le sens de la comparaison. Par exemple, dans le tri par sélection, on cherche le maximum au lieu du minimum. Dans le tri par insertion, on insère l'élément si le précédent est plus petit (au lieu de plus grand).

Quels sont les algorithmes de tri au programme de Terminale NSI ?

En Terminale, on approfondit le tri par insertion et par sélection, et on étudie le tri fusion et le tri rapide. On analyse leur complexité et on les compare.

Bravo ! Tu as lu cet article
Inscris-toi pour sauvegarder ta progression et gagner des XP
Creer mon compte
algorithmes de tri NSItri par insertiontri par sélectionNSIPython
Pixel