2020-05-16 16:15:47 +00:00
|
|
|
# flat-tree
|
2019-06-20 15:12:38 +00:00
|
|
|
|
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)
|
2019-06-20 15:12:38 +00:00
|
|
|
|
2020-05-16 16:15:47 +00:00
|
|
|
## Utilities for navigating flat trees
|
2019-06-20 15:12:38 +00:00
|
|
|
|
2020-05-16 16:15:47 +00:00
|
|
|
```bash
|
|
|
|
$ pip install flat-tree
|
|
|
|
```
|
2019-06-20 15:12:38 +00:00
|
|
|
|
2020-05-16 16:15:47 +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.
|
2019-08-03 22:57:53 +00:00
|
|
|
|
2020-05-16 16:15:47 +00:00
|
|
|
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.
|