Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pfalcon/beap
Beap (bi-parental heap) algorithm reference implementation in Python
https://github.com/pfalcon/beap
algorithms algorithms-and-data-structures data-structures implicit search-algorithm
Last synced: about 2 months ago
JSON representation
Beap (bi-parental heap) algorithm reference implementation in Python
- Host: GitHub
- URL: https://github.com/pfalcon/beap
- Owner: pfalcon
- License: mit
- Created: 2017-12-02T09:17:52.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-20T14:29:21.000Z (almost 7 years ago)
- Last Synced: 2024-10-10T15:10:49.685Z (3 months ago)
- Topics: algorithms, algorithms-and-data-structures, data-structures, implicit, search-algorithm
- Language: Python
- Homepage: https://en.wikipedia.org/wiki/Beap
- Size: 11.7 KB
- Stars: 13
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Beap
====Beap aka biparental heap (https://en.wikipedia.org/wiki/Beap) is an
[implicit data structure][1] which allows efficient insertion and searching
of elements, while not requiring any more space than the data elements
themselves. Efficient searching and insertion are supported by clever
arrangement of elements in the array which backs the beap structure,
and clever algorithms utilizing this arrangement.Beap is further elaboration of the ideas of [heap][2] data structure
(which allows for efficient insertion and finding minimum/maximum, but
not efficient searching for an arbitrary element). It was originally
[described][3] by researchers Ian Munro and Hendra Suwanda. Howerver,
it's quite hard to find an implementation of this data structure. Nor
it's easy to implement it based on the original paper, because, following
a good academic tradition, the paper is rather terse, incomplete,
inconsistent and has errata.This project is an implementation of Beap using Python3, written by
Paul Sokolovsky and distributed under the terms of OpenSource MIT license.
It's intended to be a reference implementation, i.e. written more for
clarity and testability rather than optimized. It's accompanied by
detailed unit tests. The idea is that this implementation can serve
as the basis for more efficient implementation, if such is needed.For more information on implicit data structures, see
https://github.com/pfalcon/awesome-implicit-data-structures .[1]: https://en.wikipedia.org/wiki/Implicit_data_structure
[2]: https://en.wikipedia.org/wiki/Heap_(data_structure)
[3]: http://www.sciencedirect.com/science/article/pii/0022000080900379