• Aucun résultat trouvé

Tri par comptage

N/A
N/A
Protected

Academic year: 2022

Partager "Tri par comptage"

Copied!
3
0
0

Texte intégral

(1)

Tri par comptage

def TriComptage(T) :

M = Max(T) : recherche de la valeur max de T (cf algo du min)

Cpt = [0… 0] : tableau de taille M+1 pour compter

Pour i= 0 … |T|-1 : Cpt[T[i]]++

res = [0… 0] : tableau de taille |T|

j=0

Pour i=0..M :

“ajouter Cpt[T[i]] valeur T[i] depuis j”

j = j+Cpt[T[i]]

Retourner res

(pour des entiers positifs)

NB: la recherche du Max et l’ajout de valeurs dans res a un coût… il faut écrire ces algo…

(2)

Tri par comptage

def TriComptage(T) : M = Max(T)

Cpt = [0… 0] : tableau de taille M+1 Pour i= 0 … |T|-1 :

Cpt[T[i]]++

Pour k=1…M :

Cpt[k] = Cpt[k] + Cpt[k-1]

res = [0… 0] : tableau de taille |T|

Pour i = |T|-1…0 :

res[Cpt[T[i]]-1] = T[i]

Cpt[T[i]] -= 1 Retourner res

(pour des entiers positifs)

ici Cpt[k] contient le nb de valeurs ≤ k

Version amélior

ée

(3)

Tri drapeau

# z1 est la première case qui n'est pas dans la zone des 1

# z2 idem pour les 2

# z3 est la dernière case avant la zone des 3

def TriDrapeau(T) :

z1=0, z2=0, z3=len|T|-1 while z2 <= z3 :

if T[z2] == 2 : z2 += 1 else if T[z2] == 3 :

T[z3],T[z2] = T[z2],T[z3]

z3-=1 else :

T[z1],T[z2] = T[z2], T[z1]

z1+=1 z2+=1

return T 1 1 1 2 2 2 2 ? ? ? ? ? ? ? ? ? 3 3 3 3

z1 z2 z3

Références

Documents relatifs

Pour compléter ce travail, nous pourrions nous intéresser à la définition d’un critère de sélection de modèle, notamment pour être capable de choisir automatiquement le nombre

L’après midi, Paul DEFFONTAINE, président du Cercle National du Recyclage et Vice-président de Lille Mé- tropole Communauté urbaine, animera les débats consacrés aux avancées

[r]

Chaque comparaison générant deux possibilités, k comparaisons permettront de génerer au plus 2 k permutations distinctes.. • Le tri shell avec la suite

Une étude statistique menée sur deux groupes d’installation de spectrométrie humaine a permis de montrer que la réduction du temps de comptage de 10 minutes à 2 minutes pour les

L'optimisation automatique sur la base d'un poids de référence améliore pas à pas la valeur moyenne du poids par pièce et résulte ainsi en une mesure plus précise de la quantité

Lorsqu’une base de données est très volumineuse et non ordonnée, trouver une information dans cette base est très long et très ingrat.. En effet la seule solution est

Dans le tri rapide, après les 2 tris partiels, tous les éléments de la partie gauche sont inférieurs au pivot, alors que tous les éléments de la partie droite... naturelle, et