Questions / réponses

merge_sort

merge_sort

AbedImane -
回帖数: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

回复AbedImane

Re: merge_sort

ZeitounMarc -

Que signifie [_] [__] ?


回复ZeitounMarc

Re: merge_sort

AbedImane -

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


回复AbedImane

Re: merge_sort

ArchipoffSimon -

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.



回复ArchipoffSimon

Re: merge_sort

AbedImane -

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

回复AbedImane

Re: merge_sort

ZeitounMarc -

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.