Visão Geral
O curso Advanced Data Structures tem como objetivo aprofundar o conhecimento em estruturas de dados complexas e técnicas avançadas utilizadas no desenvolvimento de sistemas eficientes e de alto desempenho. O treinamento aborda estruturas otimizadas, análise avançada de algoritmos e aplicações práticas em cenários reais, sendo ideal para profissionais que desejam evoluir além do nível básico/intermediário.
Conteúdo Programatico
Module 1 – Advanced Complexity Analysis
- Amortized analysis
- Probabilistic analysis
- Recurrence relations
- Master theorem
- Advanced Big-O techniques
Module 2 – Heaps and Priority Queues
- Binary heaps
- Fibonacci heaps
- Heap operations and optimization
- Applications (scheduling, shortest paths)
- Priority queue implementations
Module 3 – Balanced Trees
- AVL trees
- Red-Black trees
- Tree rotations and balancing
- Performance guarantees
- Real-world applications
Module 4 – Hashing Techniques
- Hash functions and collisions
- Open addressing and chaining
- Perfect hashing
- Consistent hashing
- Hash table optimization
Module 5 – Advanced Trees
- B-Trees and B+ Trees
- Segment trees
- Fenwick trees (Binary Indexed Trees)
- Trie (prefix tree)
- Range query structures
Module 6 – Graph Data Structures and Algorithms
- Advanced graph representations
- Union-Find (Disjoint Set)
- Minimum spanning tree (Kruskal, Prim)
- Topological sorting
- Advanced shortest path algorithms
Module 7 – String and Pattern Matching Structures
- KMP algorithm
- Rabin-Karp algorithm
- Suffix arrays
- Suffix trees
- String hashing techniques
Module 8 – Specialized and Emerging Data Structures
- Skip lists
- Bloom filters
- LRU cache design
- Persistent data structures
- Introduction to concurrent data structures