# Árvore (Tree)

* [Árvore de Pesquisa Binária (Binary Search Tree)](binary-search-tree/README.pt-BR.md)
* [Árvore AVL (AVL Tree)](avl-tree/README.pt-BR.md)
* [Árvore Vermelha-Preta (Red-Black Tree)](red-black-tree/README.pt-BR.md)
* [Árvore de Segmento (Segment Tree)](segment-tree/README.pt-BR.md) - com exemplos de consulta de intervalores min/max/sum
* [Árvorem Fenwick (Fenwick Tree)](fenwick-tree/README.pt-BR.md) (Árvore Binária Indexada / Binary Indexed Tree)

Na ciência da computação, uma **árvore** é uma estrutura de dados
abstrada (ADT) amplamente utilizada - ou uma estrutura de dados
implementando este ADT que simula uma estrutura hierarquica de árvore,
com valor raíz e sub-árvores de filhos com um nó pai, representado
como um conjunto de nós conectados.

Uma estrutura de dados em árvore pode ser definida recursivamente como
(localmente) uma coleção de nós (começando no nó raíz), aonde cada nó
é uma estrutura de dados consistindo de um valor, junto com uma lista
de referências aos nós (os "filhos"), com as restrições de que nenhuma
referência é duplicada e nenhuma aponta para a raiz.

Uma árvore não ordenada simples; neste diagrama, o nó rotulado como `7`
possui dois filhos, rotulados como `2` e `6`, e um pai, rotulado como `2`.
O nó raíz, no topo, não possui nenhum pai.

![Tree](./images/tree.jpeg)

*Made with [okso.app](https://okso.app)*

## Referências

- [Wikipedia](https://en.wikipedia.org/wiki/Tree_(data_structure))
- [YouTube](https://www.youtube.com/watch?v=oSWTXtMglKE&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8&index=8)
