Visão Geral
- Este curso oferece uma formação completa e autodidática sobre Estruturas de Dados e Algoritmos, abordando desde os fundamentos essenciais até técnicas avançadas utilizadas no desenvolvimento de software moderno. Você aprenderá como organizar dados, otimizar código, aplicar algoritmos clássicos e resolver problemas computacionais com eficiência. O curso combina teoria e prática, capacitando o aluno a dominar conceitos essenciais para lógica, programação, entrevistas técnicas e construção de aplicações robustas.
Objetivo
Após realizar este curso Estruturas de Dados e Algoritmos – Autodidático, você será capaz de:
- Entender os principais conceitos de estruturas de dados e algoritmos.
- Implementar estruturas de dados essenciais.
- Resolver problemas usando estratégias algorítmicas eficientes.
- Analisar a complexidade do seu código.
- Aplicar os conhecimentos em projetos reais e entrevistas técnicas.
- Desenvolver pensamento lógico e abordagem estruturada para resolução de problemas.
Publico Alvo
- Iniciantes em programação que desejam aprofundar seus conhecimentos.
- Estudantes de tecnologia e Engenharia de Software.
- Desenvolvedores que buscam fortalecer a base teórica.
- Profissionais que desejam se preparar para entrevistas técnicas.
- Autodidatas interessados em algoritmos e estruturas de dados.
Pre-Requisitos
- Conhecimentos básicos em lógica de programação.
- Entender a sintaxe de uma linguagem (Python, JavaScript, Java ou C é suficiente).
- Noções de matemática básica.
Materiais
Inglês/Português + Exercícios + Lab Pratico
Conteúdo Programatico
Module I
- Analysis of Algorithms: Learn about the Order of Growth, Best, Average, and Worst cases of various algorithms using Asymptotic Notations and much more.
- Mathematics: Build your maths foundation with problems like Factorial of a Number, HCF, LCM, and concepts like Sieve of Eratosthenes
- Bit Magic: Aquire Knowledge of Bitwise Operators with the help of important example tutorials
Module II
- Recursion: Gain understanding of Recursion, base cases, and Tail Recursion, and solve problems like Rope Cutting, Tower of Hanoi, and Josephus Problem.
- Arrays: Master Arrays from their Introduction and Operations to solving problems like Stock Buy and Sell, Trapping Rain Water, etc
- Searching: Get familiar with Binary Seach Technique with its analysis and various associated problems tutorials
Module III
- Sorting: Sort out your sorting concepts and learn about important sorting techniques like Insertion sort, Quick sort, and Radix sort to name a few
- Matrix: Escape your Matrix struggle by solving problems like Matrix in a Snake Pattern, Spiral Matrix traversal, and much more
- Hashing: Learn about Introduction and Time complexity analysis, Application of Hashing, Discussion on Direct Address Table, and much more
Module IV
- String: Learn Strings form its Introduction and Methods to popular problem tutorials on Rabin Karp Algorithm, KMP algorithm, etc
- Linked List: Learn Singly, Doubly, and Circular Linked Lists and solve problems like loop detection, intersection of LLs, and LRU Cache.
Mudule V
- Stack: Learn Stack from introduction to implementation and solve problems like Balanced Parentheses, Stock Span, and Infix/Prefix/Postfix expressions.
- Queue: Aquire Knowledge of Queue with important example tutorials on Reversing a Queue, Generate numbers with given digits and much more
- Deque: Learn Deque Implementation from problems like Maximums of all subarrays of size k, First Circular Tour, etc
- Tree: Master tree concepts by solving problems starting from Height of Binary tree, Level order traversal to more advanced problems like Burn a Binary tree from a leaf, Serialize and Deserialize a Binary Tree, etc
Module VI
- Binary Search Tree: Understand BST search, insert, and delete operations, and solve problems like Check for BST, Vertical Sum, and more.
- Heap: Learn concepts related to Min Heap, Max Heap, Priority Queue and solve related problems
- Graph: Grasp Graph Representation, BFS, DFS, and key algorithms like Prim's, Dijkstra, and Kosaraju with tutorials and problems.
Mudule VII
- Greedy: Learn Greedy Algorithms with problems like Activity Selection Problem, Fractional Knapsack and much more
- Backtracking: Aquire concepts of Backtracking, Rat In a Maze, N Queen Problem, Sudoku Problem and much more
- Dynamic Programming: Establish a solid grasp of DP through memoization and tabulation techniques, tackling problems like LCS, Coin Change, LIS, and Egg Dropping.
Module VIII
- Trie: Learn about Trie concepts like representation, search, insert, and delete with related problems
- Segment and Binary Indexed Tree: Get acquainted with Segment tree and Binary Indexed tree concepts with example problems
- Disjoint Set: Learn about Disjoint Set Introduction, Find and Union Operations, Union by Rank, Path Compression and much more
Mudule IX
- Sudoku Solver
- Shortest Path Finder
- Tic Tac Toe
- N Queen Visualizer
- Binary Tree Visualize
TENHO INTERESSE