suivant: Exercice 18 - Transformée
 monter: L'heure du code
 précédent: Exercice 16 - Tri
     Table des matières 
   
Le tri par fusion se fait en coupant un tableau en deux sous-tableaux
de tailles égales à un élément près, en triant récursivement les deux
sous-tableaux puis en interclassant leurs éléments. Ecrire en C une
fonction de tri fusion de listes chaînées. Vous prendrez garde à ne
pas recopier les maillons, et à seulement modifier le chaînage. Vous
utiliserez les sous-programmes énoncés ci-après. Notez bien le type
des paramètres.
- void split(linkedList* source, linkedList* dest1,
    linkedList* dest2), répartit les maillons de source
  dans dest1 et dest2.
 
- void merge(linkedList* source1, linkedList* source2,
    linkedList* dest, int (*inf) (void*, void*)), interclasse les
  listes source1 et source2 et place le résultat
  dans la liste dest. Le fonction pointée par 
 retourne
  
 si la clé premier paramètre est inférieur à la clé du deuxième
  paramètre, 
 sinon.
 
- void triFusion(linkedList* l, int (*inf)(void*, void*)),
  tri la liste l en modifiant le chaînage.     
 
- Comparez son temps d'exécution à celui du tri par
  sélection. Déterminez sa complexité. Est-ce un algorithme de tri
  efficace ? 
 
 
 
 
  
 suivant: Exercice 18 - Transformée
 monter: L'heure du code
 précédent: Exercice 16 - Tri
     Table des matières 
klaus
2010-08-05