Posez votre question Signaler

Algorithme de tri

ammouna - Dernière réponse le 14 déc. 2010 à 15:10
Bonjour,
je veux savoir l'ordre de complexité des différents algorithmes de tri et surtout celle de lalgorithme de tri par insertion et parsélection!
merci d'avance
Lire la suite 

Algorithme de tri »

7 réponses
Réponse
+4
moins plus
bonjour a propos tri par selection j vé te donner une solution voila=
procedure trier (var t:tab;n:integer);
var c,m:integer;
begin
for i:=1 to n-1 do
begin
m:=masc (t,c,n);
if(m<>c) then permuter(c,m,t);
end;
end;

a propos de tri par insertion jé un programme pret pour toi voila=
program triage;
uses wincrt;
type tab = array [1..100] of integer;

procedure saisir (var n:integer );
begin
writeln('donner la dimensin du tableau');
readln(n);
end;

procedure remplir (var t:tab; n:integer);
var i:integer;
begin
for i:=1 to n do
readln(t[i]);
end;

procedure decaler (var t:tab;ind: integer; var p:integer);
var aux,i:integer;
sup:boolean;
begin
aux:=t[ind+1];
i:= ind;
sup:=true;
while ((i>=1) and (sup= true)) do
begin
if (t[i]>aux) then
begin
t[i+1]:=t[i];
i:=i-1;
end
else sup:= false;
end;
p:=i+1;
end;

procedure trie (var t:tab; n: integer);
var c,tmp,ind,p:integer;
begin
for c:= 2 to n do
begin
tmp:= t[c];
decaler (t,c-1,p);
t[p]:=tmp;
end;
end;

procedure afficher (var t:tab; n: integer);
var i: integer;
begin
for i:=1 to n do
writeln (t[i]);
end;

var i,aux,n,ind,p,c:integer;
t:tab;
sup: boolean;
begin
saisir(n);
remplir(t,n);
trie(t,n);
afficher(t,n);
end.

tu peut l'utiliser si tu veut et bon chance ammouna by
ammouna - 25 janv. 2009 à 14:12
Salut!
Merci beaucoup ramrouma pour l'aide que tu ma donné pour les programmes de tri!
bon courage à toi!
sihame - 14 déc. 2010 à 15:10
please in the oyher once give us a determinative program pascal
Ajouter un commentaire
Réponse
+1
moins plus
salut,
tri par insertion
sélection
insertion dichotomique
par bulles --> les 4 ont une complexité de On²
cependant, le tri par bulles est plus lent que les autres et le tri par insertion dichotomique est plus rapide (bien que pour les 4 on reste dans le même ordre de grandeur.

tri rapide (quick sort) --> complexité = nlog(n) donc beaucoup plus rapide.

ce sont les seuls algos que je connaisse
bon courage
ammouna - 15 juil. 2008 à 18:51
salut
merci beaucoup pour votre aide!
Ajouter un commentaire
Réponse
+1
moins plus
D'un point de vue efficacité, on ne peut pas faire mieux qu'un tri avec une complexité en O(n.log n)

Le tri par fusion permet, d'atteindre cette efficacité dans tout les cas, mais il utilise plus de mémoire que les autres tris (ce qui en soit n'est presque plus un problème)

Par contre j'ai entendu dire que la complexité en O( n.log n ) du quick sort, était une "publicité mensongère" car selon les cas sa complexité atteindrait O( n² )
Ajouter un commentaire
Réponse
+0
moins plus
En effet le trie rapide peut etre en n² dans le pire des cas (malheuresement ce pire des cas arrive) souvent, donc on prend notre liste on "fou le bordel" et la c'est efficace en gros.
"foutre le bordel" prend n calcule donc on reste en lon au final

plus d'information sur : http://fr.wikipedia.org/wiki/Tri_rapide
Ajouter un commentaire
Ce document intitulé « algorithme de tri » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook