Aller au contenu

Numérique et sciences informatiques (spécialité) · TerminaleBac

Diviser pour régner et tri fusion : fiche de Terminale NSI

Publié le 7 novembre 2026 · Mis à jour le 7 novembre 2026 · Signaler une erreur

L'essentiel

  • Diviser pour régner : on découpe le problème en sous-problèmes, on les résout, puis on combine les résultats 2.
  • Le tri fusion coupe le tableau en deux moitiés, trie chacune récursivement, puis fusionne deux tableaux déjà triés.
  • La fusion parcourt les deux tableaux une seule fois : on compare les deux premiers éléments restants et on prend le plus petit.
  • Le cas de base est un tableau de 0 ou 1 élément : il est déjà trié. Sans lui, la récursion ne s'arrête pas.
  • Le découpage en moitiés donne environ log⁡2n\log_2 n niveaux, chacun coûtant de l'ordre de nn opérations : le coût est bien meilleur que celui d'un tri quadratique.

Le principe : trois phases

Les trois phases de diviser pour régnerTrois étapes successives : diviser le problème, résoudre les sous-problèmes, combiner les solutions.1DiviserCouper le problème en sous-problèmes plus petits2RégnerRésoudre chaque sous-problème, souvent récursivement3CombinerAssembler les solutions partielles
  1. DiviserCouper le problème en sous-problèmes plus petits
  2. RégnerRésoudre chaque sous-problème, souvent récursivement
  3. CombinerAssembler les solutions partielles
Les trois phases de diviser pour régner · Dans le tri fusion : couper, trier chaque moitié, fusionner.

Le tri fusion étape par étape

La fusion : le cœur de l'algorithme

def fusion(g, d):
    res, i, j = [], 0, 0
    while i < len(g) and j < len(d):
        if g[i] <= d[j]:
            res.append(g[i]); i += 1
        else:
            res.append(d[j]); j += 1
    return res + g[i:] + d[j:]

def tri_fusion(t):
    if len(t) <= 1:
        return t
    m = len(t) // 2
    return fusion(tri_fusion(t[:m]), tri_fusion(t[m:]))

Coût et intérêt

Questions flash

4 questions · correction immédiate · ton score reste sur ton appareil.

  1. Quelles sont, dans l'ordre, les trois phases d'un algorithme « diviser pour régner » ?

  2. Pourquoi le tri fusion a-t-il besoin d'un cas de base ?

  3. La fusion de [1,4,6][1, 4, 6] et [2,3,9][2, 3, 9] donne [1,2,3,4,6,9][1, 2, 3, 4, 6, 9].

  4. Pour un tableau de n=16n = 16 éléments, combien de niveaux de découpage faut-il pour arriver à des tableaux d'un seul élément ?

Les questions qu'on se pose

Quelle différence entre « diviser pour régner » et une simple récursion ?

Toute récursion se ramène à des problèmes plus petits, mais « diviser pour régner » impose en plus de découper en sous-problèmes de même nature puis de combiner leurs solutions 2. Une fonction factorielle est récursive sans vraiment combiner plusieurs sous-résultats indépendants.

Que peut-on te demander au bac sur le tri fusion ?

On peut te demander de compléter ou d'écrire la fonction de fusion, de dérouler l'algorithme sur un petit tableau, d'expliquer pourquoi la récursion termine, et de justifier que le coût est meilleur que celui d'un tri quadratique. Entraîne-toi surtout à dérouler la fusion à la main.

Le tri fusion est-il toujours le meilleur choix ?

Non. Il est régulier et rapide sur de grands tableaux, mais la version vue ici demande de la mémoire supplémentaire. Pour un petit tableau, un tri simple suffit souvent.

Sources

  1. Algorithmes diviser pour régner et tri fusion - Ressource Éduscol, Éduscol. Consulté le 7 novembre 2026.
  2. Diviser pour régner (informatique), Wikipédia. Consulté le 7 novembre 2026.

Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2 Bientôt
  • CM1 Bientôt
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page