Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Tri fusion (merge sort)
Le tri fusion utilise la stratégie diviser pour regner. L'idee est brillante : si tu ne sais pas trier une grande liste, coupe-la en deux, trie chaque moitie séparément, puis fusionne les deux moities triees.
C'est comme trier un paquet de copies : tu divises le paquet en deux, tu demandes a deux collegues de trier chaque moitie, puis tu fusionnes les deux paquets tries en comparant les copies du dessus.
La fusion de deux listes triees est simple : tu compares les premiers éléments de chaque liste, tu prends le plus petit, et tu avances dans cette liste.
Le tri fusion est toujours O(n log n), meme dans le pire cas. C'est beaucoup plus rapide que O(n²) pour les grandes listes.
Écris une fonction tri_fusion(lst) qui retourne une nouvelle liste triee (sans modifier l'originale), et une fonction fusionner(gauche, droite) qui fusionne deux listes deja triees.