flat-tree/README.md

31 lines
979 B
Markdown
Raw Permalink Normal View History

2020-05-16 16:15:47 +00:00
# flat-tree
2020-05-16 16:15:47 +00:00
[![Build Status](https://drone.autonomic.zone/api/badges/hyperpy/flat-tree/status.svg)](https://drone.autonomic.zone/hyperpy/flat-tree)
2020-05-16 16:15:47 +00:00
## Utilities for navigating flat trees
2020-05-16 16:18:31 +00:00
> 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.
2020-07-07 13:04:50 +00:00
## Install
```sh
2020-07-07 13:04:50 +00:00
$ pip install flat-tree
```
## Example
```python
from flat_tree.accessor import FlatTreeIterator
tree_iter = FlatTreeIterator()
assert tree_iter.index == 0
assert tree_iter.parent() == 1
assert tree_iter.parent() == 3
2020-07-07 13:04:50 +00:00
```