Files
freeCodeCamp/guide/portuguese/computer-science/data-structures/trees/index.md
2018-12-03 22:04:16 +01:00

2.9 KiB

title, localeTitle
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  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: