Escolar Documentos
Profissional Documentos
Cultura Documentos
de Dados
Prof. Felipe Cavalaro
Árvore (Tree)
O que é uma árvore?
Árvore (Tree)
O que é uma árvore?
Árvore (Tree)
É um novo tipo de dados que consiste em arestas e vértices.
Diferentemente de uma árvore natural, estas são representadas de
cima para baixo, com a raiz no topo e as folhas na base (nós
terminais). A raiz é um nó que não tem ancestrais; só pode ter nós
filhos. As folhas, por outro lado, não têm filhos, ou melhor, seus
filhos são estruturas vazias. (DROZDEK, 2017).
Árvore (Tree)
Cada nó tem que ser atingível a partir da raiz através de uma
sequência única de arestas, chamada caminho. O número de
arestas em um caminho é chamado comprimento do caminho. O
nível de um nó é o comprimento do caminho da raiz ao nó mais 1,
que é o número de nós no caminho. A altura de uma árvore não
vazia é o nível máximo de um nó na árvore. A árvore vazia é uma
árvore legítima de altura 0 (por definição), e um nó único é uma
árvore de altura 1. Este é o único caso no qual um nó é raiz e folha.
(DROZDEK, 2017).
Árvore (Tree)
Representações e Aplicações
Árvore
typedef struct tree {
int info;
struct tree *esq;
struct tree *dir;
}arv; esq info dir
Árvore
arv* cria () {
return NULL;
}
Faça uma função que receba como parâmetro uma árvore conforme a estrutura abaixo e retorno
quantos nós há nessa árvore.
typedef struct tree {
int info;
struct tree *esq;
struct tree *dir;
}arv;
Exercícios
1) Escreva uma função que retorne a altura de um árvore binária.
Use o cabeçalho: int altura(arv *a)
Exercícios
2) Escreva uma função que retorne a quantidade de folhas em uma árvore binária.
Use o cabeçalho: int quant_folhas(arv *a)
Exercícios
3) Escreva uma função que exclua todas as folhas de uma árvore binária, deixando a raiz e
os nós intermediários no respectivo lugar. Use o cabeçalho: arv* exclui_folhas(arv *a)
Obrigado
felipe.cavalaro@fatec.sp.gov.br