Ma moyenne →Mon espace → Fiche

Fiches › Recherche, tris et coût d'un algorithme

Recherche, tris et coût d'un algorithme

Tri fusion, Boyer-Moore et coûts : ce que la terminale ajoute aux tris et recherches vus en première.

NSI · fiche gratuite · 18 min de lecture

Ce qu'il faut savoir faire

Écrire les tris du programme, justifier un coût sans le calculer exactement, et prouver qu'une boucle fait ce qu'elle prétend faire.

Ce qui est un acquis de première, et ce que la terminale ajoute

Le programme de première contient « Tris par insertion, par sélection » et « Recherche dichotomique dans un tableau trié », avec l'invariant et le variant de boucle. Ces notions ne disparaissent pas : le programme de terminale annonce qu'« on continue l'étude de la notion de coût d'exécution, en temps ou en mémoire », et il y ajoute deux algorithmes nommément exigibles — le tri fusion, via la méthode « diviser pour régner », et la recherche textuelle, via l'algorithme de Boyer-Moore.

Autrement dit : réviser ce chapitre en s'arrêtant à la dichotomie et aux tris quadratiques, c'est réviser la première. Les deux dernières sections de cette fiche sont celles que l'épreuve de terminale peut demander directement.

Les coûts à connaître, sans hésitation

AlgorithmeAu programme deMeilleur casPire casCe qu'il exige
Recherche séquentiellepremièreO(1)O(n)rien
Recherche dichotomiquepremièreO(1)O(log n)tableau trié
Tri par insertionpremièreO(n)O(n²)rien
Tri par sélectionpremièreO(n²)O(n²)rien
Tri fusionterminaleO(n log n)O(n log n)O(n) de mémoire en plus
Recherche naïve d'un motifterminaleO(n)O(n×m)rien
Boyer-MooreterminaleO(n/m)O(n×m)prétraitement du motif

Le tri par sélection cherche à chaque tour le minimum de la partie non triée : il fait toujours le même nombre de comparaisons, d'où l'absence de meilleur cas.

Ce que « O(n²) » veut dire concrètement

L'ordre de grandeur décrit comment le temps croît quand n grandit, pas le temps lui-même.

Invariant de boucle : la preuve attendue

Un invariant est une propriété vraie avant la boucle, conservée par chaque tour, et qui donne le résultat à la sortie.

Pour le tri par insertion : « après le tour i, les i+1 premières cases du tableau contiennent les i+1 premiers éléments initiaux, triés ». À la fin, i vaut n−1 : le tableau entier est trié. La rédaction attendue tient en trois phrases — initialisation, conservation, conclusion.

Terminaison : le variant

Pour une boucle `while`, exhibe une quantité entière, positive, qui décroît strictement à chaque tour : elle ne peut décroître indéfiniment, donc la boucle s'arrête. Dans la dichotomie, c'est la largeur `droite − gauche` de l'intervalle de recherche, divisée par deux à chaque tour.

Tri fusion : le tri de terminale

Le programme ne demande pas « un tri de plus » : il demande d'écrire un algorithme utilisant la méthode « diviser pour régner », et le tri fusion en est l'exemple canonique. Trois phases, toujours les mêmes :

D'où vient le O(n log n) — c'est la justification attendue, et elle tient les deux bouts : couper en deux à chaque appel donne log₂ n niveaux de récursion, et à chaque niveau les fusions traitent en tout les n éléments, soit O(n) par niveau. Le produit des deux donne n log n.

Ce qu'il coûte en échange : O(n) de mémoire supplémentaire — il ne trie pas en place, contrairement aux tris par insertion et par sélection. C'est le seul argument qui puisse encore faire préférer un tri quadratique. Et contrairement au tri par insertion, il n'a pas de meilleur cas : un tableau déjà trié se découpe et se fusionne exactement pareil.

Recherche textuelle : l'algorithme de Boyer-Moore

Capacité attendue, au mot près dans le programme de terminale : « Étudier l'algorithme de Boyer-Moore pour la recherche d'un motif dans un texte. » C'est la partie du chapitre la plus souvent sautée en révision, alors qu'elle y est nommée. Le problème : chercher un motif de longueur m dans un texte de longueur n.

La méthode naïve aligne le motif sur chaque position du texte et compare de gauche à droite : jusqu'à n−m+1 alignements × m comparaisons, soit O(n×m) dans le pire cas.

Boyer-Moore change deux choses, et ce sont les deux à retenir :

Ce qu'il faut en dire à l'épreuve, sans le surestimer : le gain porte sur le cas moyen, qui devient sous-linéaire — on ne lit même pas tous les caractères du texte. Dans la version étudiée au lycée, le pire cas reste en O(n×m). Le prétraitement ne dépend que du motif, jamais du texte : on le paie une fois, on cherche ensuite autant de fois qu'on veut.

Comment justifier un coût en une phrase

Les erreurs qui coûtent le plus

Vérifié le 13/10/2026 : ce chapitre figure au programme officiel de l’enseignement de spécialité de numérique et sciences informatiques de terminale (arrêté du 19-7-2019, NOR MENE1921247A, BO spécial n° 8 du 25 juillet 2019), rubrique « Algorithmique » — son annexe porte « On continue l’étude de la notion de coût d’exécution, en temps ou en mémoire », la capacité « Écrire un algorithme utilisant la méthode “diviser pour régner” » et « Étudier l’algorithme de Boyer-Moore pour la recherche d’un motif dans un texte ». Les tris par insertion et par sélection et la recherche dichotomique, eux, portent les mêmes intitulés dans l’annexe du programme de première — c’est le partage annoncé plus haut, et il est vérifié des deux côtés. L’épreuve, elle, est régie à compter de la session 2027 par la note de service du 11-9-2026 (NOR MENE2622643N, BO spécial n° 4 du 17 septembre 2026), qui porte sur « le programme de l’enseignement de spécialité de la classe de terminale en vigueur ».

Teste-toi — 7 questions corrigées

Réponds sans regarder la fiche : la correction et l'explication s'affichent après chaque réponse.

  1. Si on double la taille des données, le temps d'un algorithme en O(n²) est multiplié par environ :

    Réponse : 4. Le coût est proportionnel au carré : (2n)² = 4n². C'est exactement ce que la notation sert à prédire, sans jamais mesurer une seconde.
  2. Le tri par sélection sur un tableau déjà trié effectue :

    Réponse : le même nombre de comparaisons que sur un tableau quelconque. Il cherche le minimum de la partie non triée à chaque tour, quelle que soit la disposition initiale : son coût est en O(n²) dans tous les cas. Le tri par insertion, lui, profite d'un tableau déjà trié (O(n)).
  3. Un variant de boucle sert à prouver :

    Réponse : que la boucle s'arrête. Le variant est une quantité entière positive qui décroît strictement : elle ne peut décroître à l'infini, donc la boucle termine. La correction, elle, se prouve avec l'invariant.
  4. La recherche dichotomique dans un tableau NON trié :

    Réponse : peut renvoyer un résultat faux. Elle élimine une moitié en se fiant à l'ordre. Sans tri, l'élément cherché peut se trouver dans la moitié écartée : la réponse renvoyée est simplement fausse.
  5. Le tri fusion est en O(n log n) parce que :

    Réponse : découper en deux donne log n niveaux, et chaque niveau coûte O(n) de fusion. La justification attendue tient les deux bouts : log₂ n niveaux de récursion, et à chaque niveau les fusions traitent en tout les n éléments. Le tri fusion ne trie pas en place, et n'a pas de meilleur cas.
  6. Comparé aux tris par insertion et par sélection, le tri fusion :

    Réponse : demande O(n) de mémoire supplémentaire. C'est le prix du gain : il ne trie pas en place. Les tris quadratiques, eux, travaillent dans le tableau lui-même — c'est le seul argument qui puisse encore les faire préférer.
  7. Dans l'algorithme de Boyer-Moore, la table de décalage est calculée à partir :

    Réponse : du motif cherché, avant la recherche. Le prétraitement ne porte que sur le motif : on le paie une fois, puis on cherche dans autant de textes qu'on veut. C'est lui qui permet, en comparant de droite à gauche, de sauter jusqu'à m caractères d'un coup.

Cette fiche fait partie des 27 fiches de révision gratuites de RévizBac. Pour savoir où tu en es de ta moyenne et de ta mention, passe par le simulateur de note ; pour caser sa révision dans ta semaine, par le générateur de planning.

Autres fiches gratuites en NSI

Avant l'épreuve : Méthode des épreuves de spécialité NSI — l'écrit, l'heure sur machine et la banque de sujets, en détail.

Tu crois que tu l'as compris ?

Le QCM complet de ce chapitre, corrigé au fur et à mesure. Sans inscription.

M'entraîner sur ce chapitre →

Tes chapitres gratuits t'attendent

Celle-ci en est une. Fiche de révision + QCM corrigé pour chacun des autres, calés sur le programme officiel du Bac général. On t'envoie l'accès à ton espace par email, tout de suite.

✓ Gratuit · aucune carte bancaire

Ou d'abord calcule ta moyenne et ta mention dans le simulateur →

Offre fondateurs · 50 places · accès jusqu'aux épreuves de juin 2027

Prépare ton Bac avec RévizBac

Planning perso et le catalogue entier : 99 fiches, plus de 1 000 questions corrigées, 8 spécialités — calés sur le programme officiel. Dans ton espace, les 22 à 51 chapitres de ton programme selon tes deux spécialités, tous débloqués.

Devenir membre fondateur — 59 €/an

Offre fondateurs · 50 places · accès jusqu'aux épreuves de juin 2027

L'accès est rattaché à l'adresse email utilisée au paiement : si un parent paie, mieux vaut indiquer l'adresse avec laquelle l'élève se connectera.