Aula 13 - Árvores Binárias e Árvores de Busca Binária (BST) 🧱
Estruturas de Dados e Algoritmos
Agenda da Sessão 📅
- Fundamentação Teórica & Problema
- Invariância da Estrutura & Complexidade Big-O
- Alocação Dinâmica na Heap & Ponteiros
- Implementação Prática em Linguagem C
- Análise de Casos de Borda & Debug
1. Visão Geral & Importância 🎯
- Como organizar dados em memória de forma eficiente?
- Diferença de performance entre \(O(1)\), \(O(\log n)\) e \(O(n)\).
- Gestão de memória rigorosa: alocação e desalocação consciente.
2. Princípios Algorítmicos 🧠
- Propriedade da BST: Diretriz central.
- Busca O(h): Representação em memória.
- Travessia Em-Ordem (Ordenada): Operação assintótica.
3. Código Exemplo em C 💻
// Árvore de Busca Binária (BST)
typedef struct NoBST {
int chave;
struct NoBST *esq, *dir;
} NoBST;
NoBST* bst_inserir(NoBST* raiz, int chave) {
if (raiz == NULL) {
NoBST* n = (NoBST*) malloc(sizeof(NoBST));
n->chave = c
4. Atividades da Aula 🚀