begin process at 2010 02 10 09:39:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

Complexité de l'algorithme de Tri Fusion


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Complexité de l'algorithme de Tri Fusion

dimanche 25 mars 2007 à 14:51:46 | Complexité de l'algorithme de Tri Fusion

ousin

Salut tout le monde, je voudrais de l'aide pour demontrer mathematiquement en urilisant la resolution des reccurences que la complexité du Tri Fusion est: T(n) = O(nlogn); Merci

ousin
dimanche 25 mars 2007 à 17:09:23 | Re : Complexité de l'algorithme de Tri Fusion

acx01b

Réponse acceptée !
salut le logn (log en base 2 a prori!) c'est le nombre de fois que tu découpes ta liste à trier en 2: - d'abord tu découpes en 2 morceaux - puis tu découpes chaque morceau en 2 morceaux ce qui fait 2^2 morceaux - puis tu découpes chaque morceau en 2 morceaux ce qui fait 2^3 morceaux - puis tu découpes chaque morceau en 2 morceaux ce qui fait 2^4 morceaux - ... - puis tu découpes chaque morceau en 2 morceaux ce qui fait 2^(logn) morceaux --> mais là t'as des morceaux de taille 1 ou 0 (qui sont faciles à trier) puis tu dépiles la chaine récursive: en concatènant les morceaux 2 à 2 - de tes 2^(logn) morceaux de taile 1 tu fais 2^(logn - 1) morceaux de taille 2 - de tes 2^(logn - 1) morceaux de taile 2 tu fais 2^(logn - 2) morceaux de taille 2^2 - de tes 2^(logn - 2) morceaux de taile 2^2 tu de fais 2^(logn - 1) morceaux de taille 2^3 - ... - avec tes 4 morceaux de taile n/4 tu fais 2 morceaux de taille n/2 - avec tes 2 morceaux de taile n/2 tu fais 1 morceau de taille n si on considére que empiler les appels de fonctions ne coûte rien, on voit que tout le travail est fait au moment de dépiler: à chaque fois on doit traiter les n éléments séparés dans 2^i morceaux pour les rassembler en morceaux 2 fois plus gros, donc obtenir les n éléments séparés dans 2^(i-1) morceaux, ce qui coùte quelque chose de proportionnel au nombre d'éléments: n et ça logn fois, d'où finalement le nlogn j'espère que ma réponse te vas, a+
dimanche 25 mars 2007 à 18:49:30 | Re : Complexité de l'algorithme de Tri Fusion

ousin

Merci, je comprend mieux mais y a une phrase qui me derrange un peu: puis    tu découpes chaque morceau en 2 morceaux ce qui fait 2^(logn) morceaux;

est-ce une egalité si oui pourquoi? merci

ousin
dimanche 25 mars 2007 à 19:10:54 | Re : Complexité de l'algorithme de Tri Fusion

acx01b

salut disons que j'ai un tableau avec 32 éléments log en base 2 de 32 = 5 (car 2^5 = 32) je découpe une fois en 2: j'ai 2 morceaux de 16 éléments je découpe encore une fois en 2: j'ai 2^2 morceaux de 8 éléments je découpe encore une fois en 2: j'ai 2^3 morceaux de 4 éléments je découpe encore une fois en 2: j'ai 2^4 morceaux de 2 éléments je découpe encore une fois en 2: j'ai 2^5 morceaux de 1 éléments mes morceaux de 1 élément sont tous faciles à trier :) 2^5 = 2^(log 32) = 32 --> j'ai découpé logn fois mes n morceaux pour obtenir 2^(logn) = n morceaux de taille 1 puis je concatène logn fois mes morceaux 2 à 2 pour obtenir mon tableau complétement trié
dimanche 25 mars 2007 à 19:46:16 | Re : Complexité de l'algorithme de Tri Fusion

ousin

Oui, merci! je comprend mais là c dans le cas où n est pair mais de maniere generale a-ton l'egalité? Je crois que le nombre de morceaux est inferieur ou egal  à logn prenons par exemple n=3

ousin
dimanche 25 mars 2007 à 20:23:34 | Re : Complexité de l'algorithme de Tri Fusion

acx01b

si n = 3 tu découpes en 2 ça te fait un morceau à 2 éléments, puis un morceau à 1 éléments, puis tu redécoupes encore en 2, ça te fait 3 morceaux à 1 élément et 1 morceau à un élément et là trier chaque morceau est trivial de toute façon quand on cherche la complexité on différencie pas logn-1, log(n-1), 2*n^5 et 45*n^3, on cherche plutôt un "odre de complexité"
dimanche 25 mars 2007 à 20:24:17 | Re : Complexité de l'algorithme de Tri Fusion

acx01b

pardon j'ai mal écrit: si n = 3 tu découpes en 2 ça te fait un morceau à 2 éléments et un morceau à 1 éléments, puis tu redécoupes encore en 2, ça te fait 3 morceaux à 1 élément et 1 morceau à zéro élément et là trier chaque morceau est trivial
lundi 26 mars 2007 à 12:56:37 | Re : Complexité de l'algorithme de Tri Fusion

ousin

Merci beaucoup je vois bien

ousin


Cette discussion est classée dans : tri, algorithme, fusion, complexité


Répondre à ce message

Sujets en rapport avec ce message

Help :: Tri-Fusion itératif !! [ par daarkon666 ] Salut !! Je planche actuellement sur une version itérative du Tri-Fusion, et y a un pb : je ne vois pas comment écrire la fonction fusion qui se charg Pb de tri et taille de tableaux [ par daarkon666 ] Salut !!Je viens de terminer le tri/fusion itératif (et d'autres algos de tri, pr un projet info de fac) en C, et je suis soumis à un pb auss ibien so algorithme de gauss et decomposition LU [ par speedamine ] bonjour a tous.je voudrai avoir des algorithmes ,ecrits en borland pascal,suivants:methode de gauss ordinaire pour la resolution d'un systeme .la deco Algorithme conversion Noms longs <-> Noms courts [ par franck406 ] Je suis à la recherche de l'algorithme qui permet d'obtenir un nom fichier court à partir d'un nom de fichier long comme le fait Dos. Je dois écrire u j'utilise qsort pour le tri mais il faut créer des fonctions globales [ par djmix73 ] Comment fait on pour créer des fonctions globale avec visual c++6 pour quel se mette dans le dossier globale? algorithme tabou [ par troll78 ] troll78je suis eleve en 2eme annee d'ecole d'ingenieur et j'ai un gros proleme merci de m'apporter toute l'aide possible pour realiser l'algorithme ta Cryptage par l'algorithme MD5 [ par LSRS ] [red]Salut tout le monde!!!J'ai un problème avec l'algorithme MD5 de RSA... je voudrais bien comprendre le mécanisme avec lequel il travaille...En plu qsort, explications SVP! [ par benji86446 ] Salut, je débute en C++, et je voudrais avoir les informations nécessaires pour faire fonctionner le tri recursif avec qsort. Voila le principe de mon Algorithme Brute Force [ par LordBob ] SAlut a tous,voila j'essai de créer un algorithme de brute force qui ce généralise a X caractère. Pour le debut je me limite seulement aux chiffres ma Algorithme PERT [ par Licenseinfo ] Bonjour, je débute en C et j'ai bcp de mal a faire ce programme on a des taches ices taches ont une durée D, D[i]et des relation de préséance i=>jon a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,678 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales