Skip to main content

A Pythonic indexed priority queue

Project description

A priority queue dictionary maps hashable objects (keys) to priority-determining values. It provides a hybrid dictionary/priority queue API.

Works with Python 2.7+, 3.4+, and PyPy.

CI Documentation Status https://img.shields.io/pypi/v/pqdict.svg

The priority queue is implemented as a binary heap of (key, priority value) pairs, which supports:

  • O(1) search for the item with highest priority

  • O(log n) removal of the item with highest priority

  • O(log n) insertion of a new item

Additionally, an index maps elements to their location in the heap and is kept up to date as the heap is manipulated. As a result, pqdict also supports:

  • O(1) lookup of any item by key

  • O(log n) removal of any item

  • O(log n) updating of any item’s priority level

Documentation

Documentation is available at http://pqdict.readthedocs.org/en/latest/.

License

This module is released under the MIT license. The augmented heap implementation was adapted from the heapq module in the Python standard library, which was written by Kevin O’Connor and augmented by Tim Peters and Raymond Hettinger.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pqdict-1.2.1.tar.gz (86.1 kB view details)

Uploaded Source

Built Distribution

pqdict-1.2.1-py2.py3-none-any.whl (8.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pqdict-1.2.1.tar.gz.

File metadata

  • Download URL: pqdict-1.2.1.tar.gz
  • Upload date:
  • Size: 86.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for pqdict-1.2.1.tar.gz
Algorithm Hash digest
SHA256 ad1ef3766581c606aedef6901a3822edacf9d1c6febacc9fb42568669180d1f7
MD5 6950b6d52cd843d0312a71b5da45ce03
BLAKE2b-256 b9515bc0d1817a2899ac078af79d156450a4d2073df81d699b5c4ecb197ba641

See more details on using hashes here.

File details

Details for the file pqdict-1.2.1-py2.py3-none-any.whl.

File metadata

  • Download URL: pqdict-1.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for pqdict-1.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a3c66a5a44a451b2930c69826d0740e946db5ecac065bfaaa83398f5ea10d89f
MD5 f0cc7586b43fe14b75177da609aad1b8
BLAKE2b-256 d3e582af9d6c9b86f38ac7ebe22c100e4afab2c24e7a43ad96ea70c4f45fabed

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page