Rechercher : dans
Par :

Tri insertion par méthode récursive

Dernière réponse le 20 jan 2008 à 18:05:43 aziza, le 20 jan 2008 à 17:42:03 
 Signaler ce message aux modérateurs

Bonjour,
j'ai un probléme, je veux savoir comment trier un tableau en utilisant le tri par insertion par la méthode récursive, aidez moi s'il vous plait et merci.

Configuration: Windows XP
Opera 9.23

Meilleures réponses pour « tri insertion par méthode récursive » dans :
Pascal - Tri par insertion - Récursivité- Voir Voici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par insertion : Procedure Tri_Ins (Var t: TAB; n: integer); Var aux,i : integer; begin If n > 1 Then begin ...
Tri par fusion - récursivité- Voir Voici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par fusion : Procedure Tri_Fusion (Var t : TAB; g, d : integer); Var m, i, j, k : integer; s : TAB; Begin If d > g Then ...
Tri à bulles -récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri à bulles : Procedure Tri_bulles (var t : TAB; n : integer); Var i, aux : integer; Function Trier (t : TAB; n : integer) : Boolean; ...
Tri Shell -Recursive- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri Shell : Procedure Tri_Shell_Rec (Var t: TAB; n,h : integer); Var aux,i : integer; begin If h > 0 Then Begin If n > h...
Insérer une image dans un mail Gmail en cours de composition VoirVoici une excellente méthode pour insérer des images dans vos e-mails Gmail. Résultat garanti ! Vu que vous avez un compte Gmail (puisque vous vous posez cette question) vous avez nécessairement accès à Google Documents. C'est le même compte...
Java: Les méthodes VoirLa notion de fonction et de méthode On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs...
Méthodologie de gestion de projet VoirLa gestion de projet - La nécessité d'une méthodologie claire On appelle « gestion de projet » (éventuellement « conduite de projet ») l'organisation méthodologique mise en œuvre pour faire en sorte que l'ouvrage réalisé par le maître...
LaTeX - Insertion d'images VoirStyle LaTeX permet d'insérer des images de différents formats. Le plus simple est d'insérer des fichiers de type eps (Encapsuled Postscript) : Il suffit d'insérer dans le préambule la ligne suivante : \usepackage{graphicx} Puis d'insérer...

1

 Mahmah, le 20 jan 2008 à 18:05:43

Bonjour,

Je vois la chose un peu comme la récursivité vue en math: On suppose que le résultat d'un appel est un tableau déjà trié
Ensuite on cherche dans ce tableau trié où insérer une valeur

ainsi en pseudo code je verrais une chose du style:

sort ( tab )
{
   // Cas d'arrêt :
   si taille du tableau est 0 alors il est trié (on pourrait s'arrêter à 1 mais on gère ainsi le cas ou le tableau original est vide)
   End

   sinon:
   // garder une des valeurs du tableau (par exemple la première)
   var valeur = tab[0]

   // trier le reste du tableau
   sort ( tab + 1 )   // où tab + 1 est le tableau à partir de la 2me case

   // Insérer valeur dans le tableau maintenant trié
   tant que valeur est <comparaison voulue> par rapport à tab[i]
   augmenter l'indice jusqu'à trouver où insérer valeur

   //   On a trouvé l'indice où mettre valeur
   décaler tous les éléments à partir de i (i compris)
   mettre valeur à l'indice i
   End
}


Je ne vois pas de solution sans décaler chaque fois tous les éléments. Cela reste de l'insertion.

On passera aussi en paramètre la taille du tableau si le langage d'implémentation ne permet pas de la déduire de la variable tab.
avec alors une récursivité sort ( tab + 1, taille - 1 )

M.

Répondre à Mahmah