🚀 Capítulo 11: O que são Árvores? (Tema: Senhor dos Anéis)
NOTE
Este capítulo utiliza a temática de Senhor dos Anéis para explicar as Árvores. A árvore genealógica dos reis de Gondor é uma estrutura hierárquica perfeita para entender esse conceito!
1. 🎯 Objetivo da Aula
Compreender o conceito de Árvore (Tree) como estrutura de dados não-linear e hierárquica, identificando seus principais componentes: Raiz, Nós, Filhos, Pais e Folhas.
2. 🏢 O Cenário Prático (Seu Desafio)
Para provar que é o herdeiro legítimo do trono de Gondor, Aragorn precisa mostrar sua linhagem.
- No topo está o Rei ancestral (A Raiz).
- Dele descendem os príncipes (Filhos).
- Dos príncipes descendem outros nobres, até chegar em Aragorn.
Essa estrutura onde uma pessoa se ramifica em várias é uma Árvore Genealógica (e uma Árvore na computação). Seu desafio é entender a hierarquia dessas ramificações!
3. 🧠 Fundamentos: A Teoria Traduzida
Até agora vimos estruturas lineares (uma fila atrás da outra). A Árvore é uma estrutura não-linear e hierárquica. Os dados não ficam no mesmo nível.
🌳 Anatomia de uma Árvore:
- Raiz (Root): O nó do topo, que não tem pai. Toda árvore só tem uma raiz.
- Nó (Node): Cada elemento da árvore que guarda um dado.
- Pai e Filho: Se o Nó A aponta para o Nó B, A é o pai e B é o filho.
- Folhas (Leaves): Os nós que ficam na ponta da árvore e não têm nenhum filho.
- Subárvore: Qualquer nó e seus descendentes formam uma árvore menor dentro da maior.
4. 📖 Exemplo Guiado: Diagrama da Linhagem
graph TD A["Rei Elendil (Raiz)"] --> B["Isildur (Filho)"] A --> C["Anárion (Filho)"] B --> D["Valandil (Neto)"] C --> E["Meneldil (Neto)"] style A fill:#f9f,stroke:#333,stroke-width:2px
- Raiz: Rei Elendil.
- Folhas (quem não teve filhos no diagrama): Valandil e Meneldil.
5. 🛠️ Prática Obrigatória 1: Identificando os Parentes
Com base no diagrama acima:
- Quem é o pai de
Meneldil? - Quem são os filhos de
Rei Elendil? - Quais são os nós folhas?
6. 🛠️ Prática Obrigatória 2: Árvores no Computador
Dê um exemplo de onde usamos a estrutura de árvore no uso diário do computador. (Dica: Pense em como as pastas e arquivos são organizados no seu disco rígido).
7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
- Faça o Commit: No GitHub Desktop, digite a mensagem (ex:
Finaliza Capítulo 11 Estruturas de Dados) e clique em Commit to main. - Envie para a Nuvem (Push): Clique em Push origin.
8. 📂 Estrutura de Pastas
mod_09_estruturas_de_dados/
├── capitulos/
│ ├── capitulo_11_arvores.md
│ └── codigos/
│ └── cap11/
│ └── linhagem_gondor.txt9. 💡 Checkpoint de Lógica
Em uma árvore invertida (como as da computação), a raiz fica no topo e as folhas embaixo. Por que os cientistas da computação desenham as árvores de cabeça para baixo?
10. 🔥 Desafio de Fixação
Pesquise o que é uma Árvore Binária e qual é a regra para que ela seja chamada assim.
🔑 Gabarito de Código/Fórmulas
Gabarito da Prática 1:
- O pai de Meneldil é Anárion.
- Os filhos de Elendil são Isildur e Anárion.
- Os nós folhas são Valandil e Meneldil.