Bonjour, et bonne ann�e � tous.
Je viens ici car j"'ai un probl�me avec une annale de concours : Informatique commune 2018, pr�cis�ment � la 14 qui porte sur un algorithme de tri rapide impos� :
les arguments sont une liste � trier et 2 indices.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 def triRapide ( liste ,g , d ) : #pivot = # À compléter i = g j = d while True : while i <= d and liste [ i ][0] < pivot : i = i +1 while j >= g and liste [ j ][0] > pivot : j = j -1 if i > j : break if i < j : liste [ i ] , liste [ j ] = liste [ j ] , liste [ i ] i = i +1 j = j -1 if g < j : triRapide ( liste ,g , j ) if i < d : triRapide ( liste ,i , d )
la liste � trier est une liste L de 2 listes; repr�sentant la hauteur pour la premi�re (liste h) et la p�riode pour la seconde (liste p) de diff�rentes vagues tri�es dans l'ordre chronologique.
Le but de la question est de compl�ter la ligne 2 (pivot) et de d�terminer la valeur des indices g et d lors du premier appel (fonction r�cursive) pour trier la liste L selon les valeurs croissantes de la liste h. la liste p doit donc aussi �tre modifi�e pour rester coh�rent.
Mon probl�me, c'est que je comprend pas du tout o� veut en venir cette fonction : boucle infinie rompue par un brak, alors que mon prof s'�nerve d�s qu'on utilise des break, un tri pr�sent� comme "tri rapide" alors qu'il n'a rien � voir avec mon cours, 3 param�tres, et une fonction r�cursive sans return. C'est courant, les fonctions r�cursives sans return ? moi c'est la premi�re fois que j'en vois. :/
bref, je coince. vous pouvez m'aider � r�ponde � cette question s'il vous pla�t ?
Partager