A. Estruturas de Dados:
Introdução às estruturas de dados
- Definição e importância das estruturas de dados
- Classificação das estruturas de dados: linear vs não linear, homogênea vs heterogênea, estática vs dinâmica
Estruturas de Dados Lineares:
- Arrays
- Listas Ligadas
- Pilhas
- Filas
Estruturas de Dados Não Lineares:
- Árvores
- Árvores Binárias
- Árvores AVL
- Árvores B
- Árvores B+
- Árvores de Segmento
- Trie
- Grafos
- Tabelas Hash
B. Algoritmos:
Introdução aos algoritmos
- Definição e importância dos algoritmos
- Notação Big O, análise de complexidade de tempo e espaço
Algoritmos de Ordenação:
- Bubble Sort
- Selection Sort
- Insertion Sort
- Quick Sort
- Merge Sort
- Outros (Heap Sort, Radix Sort, Bucket Sort, etc.)
Algoritmos de Busca:
- Busca Linear
- Busca Binária
- Busca em Árvores (para diferentes tipos de árvores)
- Busca em Grafos: BFS (Busca em Largura) e DFS (Busca em Profundidade)
Resolução de Problemas:
- Práticas de resolução de problemas com estruturas de dados e algoritmos
- Exercícios de codificação em plataformas como LeetCode, HackerRank ou Codewars