Le tri comptage ou tri par casiers
Algorithmique >
Algorithmes de tri >
Tri comptage
[ Commenter ]
Complexité en temps
Le tri comptage a une complexité en temps linéaire donc de la forme Ω(n).
Conditions
Pour utiliser le tri comptage, il est nécessaire que les données à trier soient des entiers naturels qui appartiennent à un intervalle
relativement restreint. En effet, ce type de tri nécessite l'utilisation d'un tableau ayant pour taille le nombre d'entiers
de cette intervalle.
Code (Pascal)
procedure CountingSort(var A: Array of Integer; MinimumValue,MaximumValue: Integer);
var I,Index: Integer;
C: Array of Integer;
begin
SetLength(C,MaximumValue-MinimumValue+1);
For I:= 0 to Length(C)-1 do C[I]:=0;
For I:= 0 to Length(A) do
Inc(C[A[I]-MinimumValue]);
Index:=0;
For I:= 0 to Length(C)-1 do
For J:= 1 to C[I] do
begin
A[Index]:=I+MinimumValue;
Inc(Index);
end;
Finalize(C);
end;
Le code ci-dessus trie le tableau Α passé en paramètre ; tableau d'entiers, compris entre MinimumValue et MaximumValue.
Après l'exécution de la procédure, le tableau Α est trié dans l'ordre croissant.