ioCode

Tri fusion

Tris • Exercices 1A
  1. Écrire une fonction decouper_en_2(t) qui renvoie un tuple contenant deux listes correspondant respectivement à la première et à la seconde moitié de la liste t. Par exemple decouper_en_2([1, 2, 3, 4]) renvoie ([1, 2], [3, 4]).
  2. Écrire une fonction slice_2(t) qui renvoie un tuple contenant les deux moitiés de la liste t en utilisant les tranches. Par exemple slice_2([1, 2, 3, 4]) renvoie ([1, 2], [3, 4]).
  3. Écrire une fonction récursive fusion(t1, t2) qui renvoie une liste triée contenant tous les éléments des listes triées t1 et t2. Par exemple fusion([1, 3], [2, 4]) renvoie [1, 2, 3, 4].
  4. Écrire une fonction impérative fusionner(t1, t2) qui calcule une liste triée contenant tous les éléments des listes triées t1 et t2 sans utiliser de récursivité. Par exemple fusionner([1, 3], [2, 4]) renvoie [1, 2, 3, 4].
  5. Écrire une fonction récursive tri_fusion(t) qui renvoie une liste triée contenant les mêmes éléments que la liste t en utilisant l'algorithme du tri fusion. Par exemple tri_fusion([3, 1, 4, 2]) renvoie [1, 2, 3, 4].
Langage
Console initialisée. En attente de l'interpréteur...