Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #101549

Re: How to remove item from heap efficiently?

From "Sven R. Kunze" <srkunze@mail.de>
Newsgroups comp.lang.python
Subject Re: How to remove item from heap efficiently?
Date 2016-01-12 17:18 +0100
Message-ID <mailman.68.1452615541.13488.python-list@python.org> (permalink)
References (2 earlier) <568FE797.6090808@mail.de> <CACs7g=CE7y-aXSdWbN7Fk0J4O4aRwAH5ad7UR1Jhdf9EpNFnug@mail.gmail.com> <5692A795.3070904@mail.de> <CACs7g=AuW8UTVS+SRM-bG=-Ne18W5VLt2CfTDjS0i1cH2qwtpw@mail.gmail.com> <FF3CA092-4D74-4C25-8C7A-C20D54C69657@gmail.com>

Show all headers | View raw


On 12.01.2016 03:48, Cem Karan wrote:
>
> Jumping in late, but...
>
> If you want something that 'just works', you can use HeapDict:
>
> http://stutzbachenterprises.com/
>
> I've used it in the past, and it works quite well.  I haven't tested its asymptotic performance though, so you might want to check into that.

Thanks for replying here. I've come across these types of 
wrappers/re-implementations of heapq as well when researching this issue. :)

Unfortunately, they don't solve the underlying issue at hand which is: 
"remove item from heap with unknown index" and be efficient at it (by 
not using _heapq C implementation).


So, I thought I did another wrapper. ;) It at least uses _heapq (if 
available otherwise heapq) and lets you remove items without violating 
the invariant in O(log n). I am going to make that open-source on pypi 
and see what people think of it.

Best,
Sven

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: How to remove item from heap efficiently? "Sven R. Kunze" <srkunze@mail.de> - 2016-01-12 17:18 +0100

csiph-web