TD 7 : Algorithmes de tri - Diviser pour r´egner
PC/PC* - Lyc´ee Thiers
Exercice 1 : Algorithme de tri
Exercice 2 : Le tri par insertion
Exercice 3 : Tri rapide
Exercice 4 : Tri fusion
Exercice 1 : Algorithme de tri
Enonc´e
Correction
Exercice 2 : Le tri par insertion
Enonc´e
Corrig´e
Exercice 3 : Tri rapide
Enonc´e
Corrig´e
Exercice 4 : Tri fusion
Enonc´e
Corrig´e
PC/PC* - Lyc´ee Thiers TD 7 : Algorithmes de tri - Diviser pour r´egner
Exercice 1 : Algorithme de tri
Exercice 2 : Le tri par insertion
Exercice 3 : Tri rapide
Exercice 4 : Tri fusion
Enonc´e
Correction
Exercice 1 : Algorithme de tri
Un algorithme de Tri prend en param`etre un tableau d’´el´ements
d’ordonnables, par exemple une liste de nombres et renvoie le tableau tri´e
dans le sens croissant.
Exercice 1. ´
Ecrire un algorithme de tri de son choix. Quels sont sa
complexit´e dans le pire des cas ? Dans le meilleur des cas ?
PC/PC* - Lyc´ee Thiers TD 7 : Algorithmes de tri - Diviser pour r´egner
Exercice 1 : Algorithme de tri
Exercice 2 : Le tri par insertion
Exercice 3 : Tri rapide
Exercice 4 : Tri fusion
Enonc´e
Correction
Exercice 1 : Algorithme de tri
Le tri par s´election :
def triSelection(T):
"""Algorithme de tri par s´election"""
N = len(T)
# Balayage
for k in range(N-1):
# Recherche du minimum `a partir de k
ind = k
for i in range(k,N):
if T[i] < T[ind]:
ind = i
# Placement du minimum `a l’indice k
T[ind], T[k] = T[k], T[ind]
return T
de complexit´e quadratique dans le pire et le meilleur des cas.
PC/PC* - Lyc´ee Thiers TD 7 : Algorithmes de tri - Diviser pour r´egner
Exercice 1 : Algorithme de tri
Exercice 2 : Le tri par insertion
Exercice 3 : Tri rapide
Exercice 4 : Tri fusion
Enonc´e
Correction
Exercice 1 : Algorithme de tri
Le tri `a bulle :
def triBulle(T):
"""Tri `a bulle"""
N = len(T)
chgt = True
while chgt:
for k in range(N-1):
chgt = False
if T[i]>T[i+1]:
T[i], T[i+1] = T[i+1], T[i]
chgt = True
N -= 1
return T
Complexit´e lin´eaire dans le meilleur des cas (pour un tableau d´ej`a tri´e),
quadratique dans le meilleur des cas.
PC/PC* - Lyc´ee Thiers TD 7 : Algorithmes de tri - Diviser pour r´egner
1 / 23 100%