Skip to main content

Min and Max Heap implementation in Python.

Project description

pbz-heap

Since no max heap seems to exist for Python, here is a Min and Max Heap implementation.

I just stood there, dumbfounded that there is no Max Heap for Python anywhere on the internet. Seriously? In 2020? If you can find one, open an Issue and I'll check it out.

Performance

Absolutely no claims are made about the performance of this Min/Max Heap implementation. I would just be glad that it exists at all ;)

That said, even the Python 3.8 standard library heap is implemented in pure Python.

Usage

# Min Heap
h = MinHeap([4, 5, 2, 1, 9, 10])
print(h.pop(), '==', 1)
print(h.pop(), '==', 2)
print(h.pop(), '==', 4)

# Max Heap
h = MaxHeap([4, 5, 2, 1, 9, 10])
print(h.pop(), '==', 10)
print(h.pop(), '==', 9)
print(h.pop(), '==', 5)

Implementation Details

Yes, yes, I know I just wraped the standard library heapq. That is, after all, the officially accepted max heap data structure for Python.

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

pbz-heap-0.0.1.tar.gz (2.1 kB view details)

Uploaded Source

File details

Details for the file pbz-heap-0.0.1.tar.gz.

File metadata

  • Download URL: pbz-heap-0.0.1.tar.gz
  • Upload date:
  • Size: 2.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.8.1

File hashes

Hashes for pbz-heap-0.0.1.tar.gz
Algorithm Hash digest
SHA256 2d06367e9db7fecf53554c4a6c177961f9a59c031a332ca9f8218fe67fa478d8
MD5 9c7f6e432868c96afdd898b1ee6d5f05
BLAKE2b-256 7aefced6639dd2ba21c6f044e12d389025afcbaa622e1cb904e3bda2d7c560e2

See more details on using hashes here.

Supported by

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