Questions / réponses

merge_sort

merge_sort

Imane Abed -
Vastausten määrä: 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

Vastaus Imane Abed

Re: merge_sort

Marc Zeitoun -

Que signifie [_] [__] ?


Vastaus Marc Zeitoun

Re: merge_sort

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


Vastaus Imane Abed

Re: merge_sort

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.



Vastaus Simon Archipoff

Re: merge_sort

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

Vastaus Imane Abed

Re: merge_sort

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.