.. _header:
*********
flat_tree
*********
.. image:: https://img.shields.io/badge/license-MIT-brightgreen.svg
:target: LICENSE
:alt: Repository license
.. image:: https://img.shields.io/badge/support-maintainers-brightgreen.svg
:target: https://decentral1.se/
:alt: Support badge
.. _introduction:
Utilities for navigating flat trees
-----------------------------------
From `The Dat Protocol`_:
.. _The Dat Protocol: https://datprotocol.github.io/book/ch01-01-flat-tree.html
Flat Trees are the core data structure that power Dat's 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.
.. _documentation:
Documentation
*************
* https://flat_tree.readthedocs.io
.. _mirroring:
Mirroring
*********
* https://hack.decentral1.se/datpy/flat_tree (primary)
* https://github.com/datpy/flat_tree