Comments on: Heapq, le module Python incompris http://sametmax.com/heapq-le-module-python-incompris/ Du code, du cul Mon, 28 Oct 2019 11:54:55 +0000 hourly 1 https://wordpress.org/?v=4.9.7 By: Michel de Rouen http://sametmax.com/heapq-le-module-python-incompris/#comment-161037 Wed, 20 May 2015 13:40:44 +0000 http://sametmax.com/?p=3813#comment-161037 Commentaire sans rapport avec le sujet, mais le préambule, bouleversant de vécu, est vraiment très drôle

]]>
By: guilload http://sametmax.com/heapq-le-module-python-incompris/#comment-106233 Mon, 04 Aug 2014 20:47:49 +0000 http://sametmax.com/?p=3813#comment-106233 Au passage, pour transformer la liste initiale en heap, il est préférable d’utiliser la function heap.heapify plutôt que d’appeler n fois heap.push: O(n) vs. O(n log n).

]]>
By: Sam http://sametmax.com/heapq-le-module-python-incompris/#comment-6365 Sat, 23 Feb 2013 06:16:36 +0000 http://sametmax.com/?p=3813#comment-6365 from excuse import random print(random())

C’était pour voir si tu suivais.

]]>
By: Lujeni http://sametmax.com/heapq-le-module-python-incompris/#comment-6364 Fri, 22 Feb 2013 23:52:03 +0000 http://sametmax.com/?p=3813#comment-6364 Merci pour l’explication sur ce module méconnu.
Au passage, il manque un l’import de heappop dans le premier exemple :)

]]>
By: Sam http://sametmax.com/heapq-le-module-python-incompris/#comment-4505 Sat, 22 Dec 2012 14:27:14 +0000 http://sametmax.com/?p=3813#comment-4505 En fait c’est __eq__, __gt__, __lt__, etc. __cmp__ est déprécié. Je vais rajouter une précision.

]]>
By: Xavier Combelle http://sametmax.com/heapq-le-module-python-incompris/#comment-4502 Sat, 22 Dec 2012 14:08:27 +0000 http://sametmax.com/?p=3813#comment-4502 C’est pas plutot __cmp__ la méthode qu’il faut implémenter pour qu’une classe quelconque soit comparable ?

]]>
By: Soli http://sametmax.com/heapq-le-module-python-incompris/#comment-4470 Sat, 22 Dec 2012 00:11:01 +0000 http://sametmax.com/?p=3813#comment-4470 À noter, pour ceux que ça amuse, que heapq fournit donc les briques de base pour faire un mergesort (suffit de faire heapq.merge en partant de chaque élément pris séparément) et un heapsort (push tout, pop tout) qui ont une meilleure complexité* que le célèbre quicksort.

Ceci dit, timsort (qui est derrière sorted) est encore meilleur (http://www.drmaciver.com/2010/01/understanding-timsort-1adaptive-mergesort/ le meilleur article du monde sur comment optimiser un algo de tri).

*: dans le cas le pire. En moyenne ils se valent tous.

]]>
By: Sam http://sametmax.com/heapq-le-module-python-incompris/#comment-4468 Fri, 21 Dec 2012 22:46:16 +0000 http://sametmax.com/?p=3813#comment-4468 Bien vu @kontre, j’ai merdé dans ma première explication ! La liste n’est pas ordonnée normalement, mais ordonnées en arbre binaire, il faut donc la poper pour obtenir l’odre correcte. Je vais corriger ça.

]]>
By: Kontre http://sametmax.com/heapq-le-module-python-incompris/#comment-4467 Fri, 21 Dec 2012 22:11:54 +0000 http://sametmax.com/?p=3813#comment-4467 Uh, c’est trié ça [-273.15, 42, 2048, 69] ? 2048 <= 69 ?

J'avais lu la discussion en question sans rien y comprendre (j'avais pas trop cherché, aussi), c'est sympa d'avoir une explication claire !

]]>
By: anucunnilinguiste http://sametmax.com/heapq-le-module-python-incompris/#comment-4465 Fri, 21 Dec 2012 20:55:14 +0000 http://sametmax.com/?p=3813#comment-4465 Très bonne astuce que je ne connaissais pas…Sur de gros volumes de données ça paraît très efficace.

]]>