Modification de l'algorithme de selection pour qu'il marche
D'un coté celui-ci est plus éloigné de celui du cours, d'un autre il en est plus proche.
This commit is contained in:
parent
5a63207ef6
commit
d6f079a4fc
|
@ -17,7 +17,7 @@ http://www.fil.univ-lille1.fr/~L1S2API/CoursTP/tp4_tri.html
|
|||
__author__ = 'PREUD\'HOMME Geoffrey & BEAUSSART Jean-loup'
|
||||
__date_creation__ = 'Tue, 10 Mar 2015 10:26:41 +0100'
|
||||
|
||||
from random import randint, shuffle
|
||||
from random import randint
|
||||
|
||||
|
||||
def partie(nom):
|
||||
|
@ -60,13 +60,13 @@ def select_min(l, a, b):
|
|||
list, int, int → int
|
||||
Renvoie l'indicde d'un élément minimal de la tranche l[a:b]
|
||||
CU : l est une liste de longueur n, d'éléments homogènes ordonnables, et a et b deux indices tels
|
||||
que 0 ≤ a < b ≤ n
|
||||
que 0 ≤ a < b < n
|
||||
"""
|
||||
assert 0 <= a < b <= len(l)
|
||||
|
||||
imin = a
|
||||
for i in range(a + 1, b):
|
||||
if comp(l[i], imin) == -1:
|
||||
for i in range(a + 1, b + 1):
|
||||
if comp(l[i], l[imin]) == -1:
|
||||
imin = i
|
||||
return imin
|
||||
|
||||
|
@ -78,7 +78,7 @@ def tri_selection(l):
|
|||
CU : l est une liste de longueur n, homogène, d’éléments ordonnables
|
||||
"""
|
||||
n = len(l)
|
||||
for i in range(n - 2):
|
||||
for i in range(n - 1):
|
||||
imin = select_min(l, i, n - 1)
|
||||
l[i], l[imin] = l[imin], l[i]
|
||||
|
||||
|
|
Reference in a new issue