Árvores e grafos
Explore estruturas de árvores e grafos para representar dados hierárquicos e conectados em rede.
Árvores e grafos é uma aula grátis de C Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C Academy inclui 3 aulas no total.
Árvores e grafos em C
Árvores e grafos em C
Árvores e grafos são estruturas de dados não lineares usadas para representar dados hierárquicos e de redes.
Nesta lição, você aprenderá:
- Como as árvores e os grafos são estruturados.
- Como implementar uma árvore binária em C.
- Como representar grafos usando listas e matrizes de adjacência.

O que é uma árvore?
O que é uma árvore?
Uma árvore é uma estrutura de dados hierárquica composta por nós.
Termos importantes:
- Raiz - O nó superior.
- Pai e filho - Nós conectados diretamente.
- Folha - Um nó sem filhos.
Exemplo: nó de árvore binária
Exemplo: nó de árvore binária
Em C, um nó de árvore binária é definido usando uma struct com ponteiros para os filhos esquerdo e direito.
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *left, *right;
};
struct Node* createNode(int data) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = data;
newNode->left = newNode->right = NULL;
return newNode;
}
int main() {
struct Node *root = createNode(10);
return 0;
}Travessia de árvore binária
Travessia de árvore binária
Métodos de travessia:
- Inorder (LNR) - Esquerda, Node, direita.
- Preorder (NLR) - Node, esquerda, direita.
- Postorder (LRN) - Esquerda, direita, Node.
Exemplo: travessia Inorder
Exemplo: travessia Inorder
Este programa realiza uma travessia Inorder de uma árvore binária.
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *left, *right;
};
void inorder(struct Node *root) {
if (root != NULL) {
inorder(root->left);
printf("%d ", root->data);
inorder(root->right);
}
}
int main() {
struct Node *root = malloc(sizeof(struct Node));
root->data = 10;
root->left = NULL;
root->right = NULL;
inorder(root);
return 0;
}O que é um grafo?
O que é um grafo?
Um grafo é uma coleção de nós (vértices) conectados por arestas.
Os grafos podem ser:
- Direcionados - As arestas têm uma direção.
- Não direcionados - As arestas não têm direção.
Representação de grafos
Representação de grafos
Os grafos podem ser representados usando:
- Matriz de adjacência - Um vetor bidimensional que representa as conexões.
- Lista de adjacência - Uma lista em que cada nó aponta para seus vizinhos.
Travessia de grafos
Travessia de grafos
Métodos comuns de travessia:
- Busca em largura (BFS) - Visita todos os vizinhos antes de avançar para níveis mais profundos.
- Busca em profundidade (DFS) - Explora o máximo possível em profundidade antes de retroceder.
Resumo
Resumo
Nesta lição, você aprendeu:
- Como as árvores e os grafos são estruturados.
- Como realizar travessias em árvores.
- Como os grafos são representados e percorridos.
Esta é a conclusão da seção Estruturas de Dados em C!

Perguntas Frequentes
A aula “Árvores e grafos” é grátis?
Sim — o texto completo de “Árvores e grafos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C Academy, atualize para CoddyKit PRO. O curso de C Academy inclui 3 aulas no total.
O que vou aprender em “Árvores e grafos”?
Explore estruturas de árvores e grafos para representar dados hierárquicos e conectados em rede. Você pratica C Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C Academy?
Nenhuma experiência prévia é necessária. C Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.
Quanto tempo leva a aula “Árvores e grafos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C Academy?
Sim. Cada aula de C Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Listas encadeadas
- Pilhas e filas
- Árvores e grafos