You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
continuous-integration/drone/push Build is passing
Details
|
3 years ago | |
---|---|---|
.github | 4 years ago | |
flat_tree | 3 years ago | |
test | 3 years ago | |
.drone.yml | 3 years ago | |
.gitignore | 3 years ago | |
CHANGELOG.md | 3 years ago | |
LICENSE | 3 years ago | |
README.md | 3 years ago | |
poetry.lock | 3 years ago | |
pyproject.toml | 3 years ago |
README.md
flat-tree
Utilities for navigating flat trees
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.
Install
$ pip install flat-tree
Example
from flat_tree import FlatTreeIterator
tree_iter = FlatTreeIterator()
print("tree index: ", tree_iter.index)
print("tree first parent: ", tree_iter.parent())
print("tree next parent", tree_iter.parent())
Output:
tree index: 0
tree first parent: 1
tree next parent 3