• Aucun résultat trouvé

Algorithmes de tri

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmes de tri"

Copied!
4
0
0

Texte intégral

(1)

Algorithmes de tri

EA3

UFR d’Informatique

2015--2016

F. Laroussinie

(2)

Tri par sélection

# IndiceMin(T,i) retourne l'indice de l'élément min de T[i]...T[|T|-1]

# hyp: 0<= i < len(T)

def IndiceMin(T,i) : res = i

Pour k = i+1… |T|-1 :

Si T[k] < T[res] Alors res = k Retourner res

def TriSelection(T) : Pour i = 0.. |T|-2 :

ind = IndiceMin(T,i) T[i] ⟷ T[ind]

Retourner T

(3)

Tri par insertion

# inserer T[i] à sa place dans T[0...i-1]

# i= 1...n-1

def Inserer(T,i) : Si i>0 Alors :

Si T[i-1] > T[i] Alors : T[i-1] ⟷ T[i]

Inserer(T,i-1)

def TriInsertion(T) : Pour i = 1…|T|-1 : Inserer(T,i)

Retourner T

version avec plusieurs permutations pour placer T[i]

(4)

Tri par insertion

# inserer T[i] à sa place dans T[0...i-1]

# i= 1...n-1

def Inserer(T,i) : val = T[i]

j=i

tant que j>0 et T[j-1]>val : T[j]=T[j-1]

j=j-1 T[j]=val

def TriInsertion(T) : Pour i = 1…|T|-1 : Inserer(T,i)

Retourner T

ici on attend de tr

ouver le bon endropour l’y placer…it où placer val (=T[i])

Références

Documents relatifs

Lorsqu’on veut trier un très petit nombre d’éléments, il est plus simple d’écrire directement les comparaisons à effectuer que de se lancer dans la conception d’un

La dichotomie (couper en deux) est un processus de recherche où à chaque étape l’espace de recherche se réduit à l’une des parties. Pour exécuter ce processus il faut que

Question : Est-il possible de trier un tableau de n ´el´ements en moins de n · log( n ) op´erations dans le pire cas. Non si on n’utilise que des comparaisons 2 `a 2 et sans

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

Tri du tableau T dans l’ordre croissant Affichage des valeurs triées Permutation de deux entiers Recherche de la position du

procedure saisie(var t:tab;var n:integer);.

– partager la liste ` a trier en deux sous-listes : les ´ el´ ements plus petits que le nombre choisit puis les plus grands. – ` a la fin, on ins` ere le nombre choisit entre ces