adefossez / prioheap

Priority Queue with a sane API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PrioHeap

test badge

A priority queue from the textbooks. Python implementation is surprinsigly not modern.

Installation

pip3 install prioheap

Usage

The API is dead simple:

import prioheap

prio = prioheap.PrioHeap()
prio.add(0) # add element
prio.add(3)
prio.peak()  # return highest element, e.g. 3
prio.add(1)
prio.pop()  # remove and return highest element, 3.

len(prio), bool(prio)  # those are supported
iter(prio), list(prio)  # iterate elements in decreasing order

Test

To run the unit tests from the root of this repository:

python3 -m tests

License

License is Unlincense, so public domain.

About

Priority Queue with a sane API

License:The Unlicense


Languages

Language:Python 100.0%