Utilities for navigating flat trees
|
||
---|---|---|
.github | ||
flat_tree | ||
test | ||
.drone.yml | ||
.gitignore | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
MANIFEST.in | ||
mypy.ini | ||
pyproject.toml | ||
README.md | ||
setup.cfg | ||
setup.py | ||
tox.ini |
flat-tree
Utilities for navigating flat trees
$ pip install flat-tree
Flat Trees are the core data structure that power Hypercore feeds. They allow us to deterministically represent a tree structure as a vector. This is particularly useful because vectors map elegantly to disk and memory.
Because Flat Trees are deterministic and pre-computed, there is no overhead to using them. In effect this means that Flat Trees are a specific way of indexing into a vector more than they are their own data structure. This makes them uniquely efficient and convenient to implement in a wide range of languages.