This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
commit 03baaf323d79ab6c298b8a0f56054d5824d15ca7
tree 51d4eff059645031c71c6c4a467a815811beee77
parent 9ba6993df9cbcf7dd89071b0c734f884623fc265
tree 51d4eff059645031c71c6c4a467a815811beee77
parent 9ba6993df9cbcf7dd89071b0c734f884623fc265
heapdict /
| name | age | message | |
|---|---|---|---|
| |
.gitignore | ||
| |
LICENSE | ||
| |
MANIFEST.in | ||
| |
README.rst | ||
| |
ez_setup.py | ||
| |
heapdict.py | ||
| |
setup.py | ||
| |
test_heap.py |
README.rst
popitem():
Remove and return the (key, priority) pair with the lowest
priority, instead of a random object.
peekitem():
Return the (key, priority) pair with the lowest priority, without
removing it.
heapdict: a heap with decreased-key and increase-key operations
heapdict implements the MutableMapping ABC, meaning it works pretty much like a regular Python dict. It's designed to be used as a priority queue, where items are added and consumed as follows:
hd = heapdict() hd[obj1] = priority1 hd[obj2] = priority2 # ... obj = hd.pop()
Compared to an ordinary dict, a heapdict has the following differences:
Unlike the Python standard library's heapq module, the heapdict supports efficiently changing the priority of an existing object (often called "decrease-key" in textbooks). Altering the priority is important for many algorithms such as Dijkstra's Algorithm and A*.








