Questions / réponses

merge_sort

merge_sort

Nosūtīja Imane Abed
Atbilžu skaits: 5

Bonjour, j'ai crée une fonction cut qui coupe une liste en deux liste de même longueur à 1 près, elle renvoie ([_],[__]), mais j'aimerai avoir [_] [__]


Merci 

IA

Atbildot uz Imane Abed

Re: merge_sort

Nosūtīja Marc Zeitoun
Atbildot uz Marc Zeitoun

Re: merge_sort

Nosūtīja Imane Abed

Pardon, je reformule; 

La fonction cut que j'ai crée renvoie ( liste1 , liste2 )   et je voudrai qu'elle renvoie   liste1  liste2

Ce qui m'embete ce sont les parentheses et la virgule


Merci 

IA


Atbildot uz Imane Abed

Re: merge_sort

Nosūtīja Simon Archipoff

Ce n'est pas possible, une fonction ne peut retourner qu'une seule valeur… Et donc, si vous avez une fonction qui calcule deux choses, il faut en retourner la paire. "liste1 liste2" c'est la fonction liste1 appliquée au paramètre liste2, ce n'est pas ce que vous voulez.



Atbildot uz Simon Archipoff

Re: merge_sort

Nosūtīja Imane Abed

Merci, ma fonction marche et j'ai 100/100 au test !

Cependant, l'évaluation continue de tourner, j'en suis a 64seg, dois-je m'en inquiéter ?


IA

Atbildot uz Imane Abed

Re: merge_sort

Nosūtīja Marc Zeitoun

Le test a été passé par chance, parce que les listes générées aléatoirement ont été suffisamment courtes. La fonction telle qu'elle est écrite trie, mais n'a pas la complexité O( n.log n ) correcte du tri fusion. Si nous relançons les évaluations, la fonction risque d'échouer.

Le problème est la fonction merge qui n'est pas efficace, car elle n'exploite pas le fait que les listes à fusionner sont triées. Cf. réponse à une question similaire de Benjamin Nolent il y a quelques jours.