methodes de trie des vecteurs (complexité...)

methodes de trie des vecteurs (complexité...) - Algo - Programmation

Marsh Posté le 20-03-2007 à 14:18:49    

Bonjours,
 
j'ai implémenté en C les troi méthode de trie de vecteur que je connais:
http://fr.wikipedia.org/wiki/Tri_par_s%C3%A9lection => par selection
http://www.pise.info/algo/techniques.htm#T7.3 => par bulle
http://fr.wikipedia.org/wiki/Tri_par_insertion => par insertion
 
Mais je veut connaître pour chaque méthode,
le nombre de comparaisons et de permutations à chaque itération. (comment les calcule!)
 
quel est la meilleur méthode, (en comparant les 3 méthodes) ?
c'est quoi la complexité de chaque méthode ? comment savoir !
 
Merci.
 
 
 

Reply

Marsh Posté le 20-03-2007 à 14:18:49   

Reply

Marsh Posté le 20-03-2007 à 14:23:30    

en continuant à lire wikipedia

Reply

Marsh Posté le 20-03-2007 à 14:57:08    

Taz a écrit :

en continuant à lire wikipedia


Si on prend par exemple le trie par selection,
si on a un vecteur de N=4 élément alors le nombre de comparaisons sera normalement:
3 + 2 + 1 donc ( N-1 + N-2 + N-3 ) donc c'est N(N-1)/2, comme il es préciser dans wiki.
Mais pour le nombre de permutation, à chaque itération il peut y avoire une permutation comme il peut ne pas y avoir de permutation, donc ce n'est pas toujours N permutation qui ce passeront à la fin du trie (comme il est cité dans wiki ).
 

Reply

Marsh Posté le 20-03-2007 à 15:01:08    

big_dadi_fat a écrit :

Mais pour le nombre de permutation, à chaque itération il peut y avoire une permutation comme il peut ne pas y avoir de permutation, donc ce n'est pas toujours N permutation qui ce passeront à la fin du trie (comme il est cité dans wiki ).


 
Pour ce genre de choses là, tu ne peux effectivement pas calculer une complexité fixe. En général, on calcule une complexité dans le pire des cas, dans le meilleur des cas, et une complexité moyenne (attention, le calcul peut devenir assez tendu dans certains cas...)


---------------
TriScale innov
Reply

Marsh Posté le 20-03-2007 à 15:29:31    

et finalement c'est quoi la meilleurs methode:
insertion ensuite selection et enfin par bulle ?

Reply

Marsh Posté le 20-03-2007 à 15:40:51    

Ca dépend de la structure des données (vecteur ou liste chainée, par exemple) et des hypothèses que tu peux faire sur les données d'entrée. Par exemple, si tu dois trier des données qui sont déjà presque dans l'ordre, un tri bulle fonctionnera mieux que les autres méthodes.
 
Il faut définir précisément ce qu'est la "meilleure" méthode (surtout que ces trois tris "de base" sont quand même relativement proches, donc il faut aller loin pour vraiment les différencier).


---------------
TriScale innov
Reply

Marsh Posté le 20-03-2007 à 16:05:47    

franceso a écrit :

Ca dépend de la structure des données (vecteur ou liste chainée, par exemple) et des hypothèses que tu peux faire sur les données d'entrée. Par exemple, si tu dois trier des données qui sont déjà presque dans l'ordre, un tri bulle fonctionnera mieux que les autres méthodes.
 
Il faut définir précisément ce qu'est la "meilleure" méthode (surtout que ces trois tris "de base" sont quand même relativement proches, donc il faut aller loin pour vraiment les différencier).


 
Je parle pour la structure des données Vecteur, en cas général, (dans la plus part des cas, pour un vecteur aléatoire)...
 
Alors ?
 

Reply

Marsh Posté le 20-03-2007 à 16:12:51    

Alors aux dernières nouvelles le forum n'est pas là pour faire tes devoirs de classe.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 20-03-2007 à 17:08:33    

tu te fous de la gueule de qui dadifat ? [:pingouino]
tu fais tes devoirs et tu vas ranger ta chambre :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed