Binarytree: Python Library for Studying Binary Trees
----------------------------------------------------

.. image:: https://img.shields.io/github/license/joowani/binarytree?color=bright
    :alt: GitHub License
    :target: https://github.com/joowani/binarytree/blob/main/LICENSE

.. image:: https://img.shields.io/badge/python-3.7%2B-blue
    :alt: Python Versions

Welcome to the documentation for **binarytree**.

**Binarytree** is Python library which lets you generate, visualize, inspect and
manipulate `binary trees`_. Skip the tedious work of setting up test data, and dive
straight into practising algorithms. Heaps_ and `binary search trees`_ are also
supported. Self-balancing search trees like `red-black`_ or `AVL`_ will be added in
the future.

.. _binary trees: https://en.wikipedia.org/wiki/Binary_tree
.. _Heaps: https://en.wikipedia.org/wiki/Heap_(data_structure)
.. _binary search trees: https://en.wikipedia.org/wiki/Binary_search_tree
.. _red-black: https://en.wikipedia.org/wiki/Red%E2%80%93black_tree
.. _AVL: https://en.wikipedia.org/wiki/AVL_tree

Requirements
============

Python 3.7+

Installation
============

Install via pip_:

.. code-block:: bash

    pip install binarytree --upgrade

For conda_ users:

.. code-block:: bash

    conda install binarytree -c conda-forge

.. _pip: https://pip.pypa.io
.. _conda: https://docs.conda.io

Contents
========

.. toctree::
    :maxdepth: 1

    overview
    specs
    exceptions
    graphviz
