freeCodeCamp/guide/portuguese/computer-science/data-structures/trees/index.md

2.9 KiB

title localeTitle
Trees Árvores

Árvores

Uma estrutura de dados em árvore pode ser definida recursivamente (localmente) como uma coleção de nós (começando em um nó raiz), onde cada nó é uma estrutura de dados que consiste em um valor, junto com uma lista de referências a nós (os "filhos") , com as restrições de que nenhuma referência é duplicada e nenhuma aponta para a raiz. Uma árvore sem nós é chamada de árvore nula ou vazia.

Uma árvore binária é uma estrutura de dados não linear que consiste em nós, onde cada nó possui os seguintes 3 componentes:

Elemento de dados : armazena qualquer tipo de dados no nó Ponteiro esquerdo : aponta para a subárvore no lado esquerdo do nó Ponteiro para a direita : aponta para a subárvore no lado direito do nó Como o nome sugere, o elemento de dados armazena qualquer tipo de dado no nó. Os ponteiros esquerdo e direito apontam para árvores binárias no lado esquerdo e direito do nó, respectivamente.

Se uma árvore estiver vazia, ela é representada por um ponteiro nulo.

Terminologia usada nas árvores:

Raiz : O nó superior de uma árvore.

Criança : Um nó conectado diretamente a outro nó ao se afastar da raiz.

Pai : A noção inversa de uma criança.

Irmãos : Um grupo de nós com o mesmo pai.

Descendente : Um nó acessível por processo repetido de pai para filho.

Antepassado : Um nó acessível por processo repetido de filho para pai.

Filial (nó interno): Um nó de uma árvore que possui nós filhos.

Folha (menos comumente chamado de nó externo): Um nó sem filhos.

Grau : O número de subárvores de um nó.

Borda : A conexão entre um nó e outro.

Caminho : Uma sequência de nós e arestas conectando um nó com um descendente.

Nível : O nível de um nó é definido por 1 + (o número de conexões entre o nó e a raiz).

Altura da árvore : A altura de uma árvore é a altura do seu nó raiz.

Profundidade : A profundidade de um nó é o número de arestas do nó raiz da árvore para o nó.

Floresta : Uma floresta é um conjunto de árvores disjuntas n ≥ 0.

Alguns tipos populares de árvores:

  • Árvore binária
  • Árvore de busca binária
  • Árvore AVL
  • Árvore negra vermelha
  • Árvore Splay
  • Huffmann Tree

Usos comuns

  • Representando dados hierárquicos
  • Armazenar dados de uma maneira que facilite a pesquisa
  • Representando listas de dados classificadas
  • Algoritmos de roteamento

Código de um nó de árvore

`` `c_cpp nó de estrutura { dados int; // elemento de dados struct node * esquerda; // Ponteiro para o nó esquerdo struct node * direito; // Ponteiro para o nó direito };

`` `

Mais Informações: