
Curso de Algoritmos e Estrutura de Dados em Python
Domine Python e Estruturas de Dados e Algoritmos desde o básico — sem atalhos, sem rodeios. Este curso leva você desde a escrita do seu primeiro script em Python até a resolução de problemas complexos de grafos e programação dinâmica. Seja mirando nas melhores empresas de tecnologia ou aprimorando suas habilidades de engenharia, esta é a base técnica completa que você precisa.
O que você vai aprender:
Você vai construir uma base sólida em Python, abordando sintaxe, coleções e design orientado a objetos antes de mergulhar nos tópicos principais de Estruturas de Dados e Algoritmos. Você vai implementar arrays, listas encadeadas, pilhas, filas, árvores e grafos totalmente do zero. Você vai analisar a complexidade de tempo e espaço usando a notação Big-O para cada algoritmo principal. Você vai dominar ordenação, busca, recursão e programação dinâmica com código real. Você também vai praticar padrões de programação competitiva e técnicas de simulação de entrevistas projetadas para prepará-lo para processos seletivos técnicos nas principais empresas de tecnologia.
Como você estuda de forma prática Curso de Algoritmos e Estrutura de Dados em Python
Como você pratica Curso de Algoritmos e Estrutura de Dados em Python
Pra você que é empresa e quer treinar o time
Na Dedika para empresas, o curso vem com exercícios e exemplos do próprio negócio e do jeito que a sua empresa precisa.
Conteúdo do curso
8 Capítulos • 40 AulasDuração entre 4 e 360 horas (você decide)
Capítulo 1EsconderEsconder detalhesVer detalhesPython Programming Foundations
Python Programming Foundations
Aula 1 • Funções e Escopo
Define funções reutilizáveis com parâmetros, valores de retorno e regras de escopo. Prepara os alunos para encapsular a lógica de DSA em unidades limpas e testáveis.
Aula 2 • Fluxo de Controle e Iteração
Ensina ramificações if/elif/else, loops for e while e instruções de controle de loop. Permite que os alunos expressem lógica algorítmica em Python.
Aula 3 • Tratamento de Erros e Depuração
Apresenta exceções, blocos try/except e ferramentas de depuração. Equipa os alunos para escrever código robusto e diagnosticar falhas em programas complexos.
Aula 4 • Tipos de Dados Principais e Variáveis
Aborda inteiros, floats, strings, booleanos e conversão de tipos. Fornece os primitivos de dados usados em toda implementação de algoritmo adiante.
Aula 5 • Configurando o Ambiente Python
Instale o Python, configure um ambiente virtual e escolha uma IDE. Estabelece a cadeia de ferramentas da qual todos os capítulos subsequentes dependem.
Capítulo 2EsconderEsconder detalhesVer detalhesColeções e Comprehensions em Python
Coleções e Comprehensions em Python
Aula 1 • Iteradores, Geradores e Avaliação Preguiçosa
Explica o protocolo do iterador, funções geradoras e yield. Permite a travessia com eficiência de memória de grandes conjuntos de dados em problemas de DSA.
Aula 2 • Listas e Tuplas em Profundidade
Explora indexação, fatiamento, mutação e imutabilidade de tuplas. Esses tipos de sequência sustentam estruturas de dados baseadas em arrays abordadas posteriormente.
Aula 3 • Dicionários e Conjuntos
Aborda armazenamento baseado em hash, operações de chave-valor e álgebra de conjuntos. Dá suporte direto a implementações de tabelas hash e adjacências de grafos.
Aula 4 • Comprehensions de Lista e Dicionário
Ensina a sintaxe concisa de comprehensions para filtrar e transformar coleções. Reduz código repetitivo em implementações de algoritmos ao longo do curso.
Aula 5 • Ordenação, Busca e Algoritmos Embutidos
Usa sorted(), min(), max() e funções chave para processar coleções. Faz a ponte entre os embutidos do Python e os algoritmos de ordenação personalizados estudados em seguida.
Capítulo 3EsconderEsconder detalhesVer detalhesAnálise de Algoritmos e Complexidade
Análise de Algoritmos e Complexidade
Aula 1 • Introdução à Análise de Algoritmos
Define corretude, eficiência e a necessidade de análise formal de algoritmos. Estabelece a mentalidade analítica aplicada a toda estrutura de dados e algoritmo adiante.
Aula 2 • Big-O, Big-Omega e Big-Theta
Formaliza a notação assintótica e classes de complexidade comuns. Fornece o vocabulário usado para descrever todo algoritmo nos capítulos subsequentes.
Aula 3 • Analisando Loops e Chamadas Recursivas
Ensina a contagem de passos para loops e relações de recorrência para recursão. Prepara diretamente os alunos para analisar algoritmos de ordenação e árvores.
Aula 4 • Perfilando Código Python
Usa timeit, cProfile e memory_profiler para medir o desempenho real. Conecta a complexidade teórica ao comportamento de execução mensurável do Python.
Aula 5 • Complexidade de Espaço e Compensações
Diferencia espaço auxiliar de espaço total e explora as compensações entre tempo e espaço. Orienta decisões de projeto quando restrições de memória são importantes.
Capítulo 4EsconderEsconder detalhesVer detalhesEstruturas de Dados Lineares
Estruturas de Dados Lineares
Aula 1 • Comparação de Complexidade de Estruturas Lineares
Compara a complexidade de tempo e espaço entre todas as estruturas lineares estudadas. Permite a seleção informada de estruturas para problemas de projeto de algoritmos.
Aula 2 • Listas Ligadas Simples e Duplamente Ligadas
Constrói classes Node e operações de lista incluindo inserção, remoção e travessia. Apresenta o pensamento baseado em ponteiros essencial para árvores e grafos.
Aula 3 • Pilhas: Implementação e Aplicações
Implementa pilhas usando listas e listas ligadas, e as aplica a problemas reais. Demonstra a semântica LIFO usada em recursão, análise sintática e backtracking.
Aula 4 • Filas, Deques e Filas de Prioridade
Aborda filas FIFO, deques de duas pontas e filas de prioridade baseadas em heap. Prepara os alunos para problemas de BFS, escalonamento e algoritmos gananciosos.
Aula 5 • Arrays e Arrays Dinâmicos
Aborda arrays estáticos, listas Python como arrays dinâmicos e realocação amortizada. Estabelece a estrutura base da qual todos os outros tipos lineares derivam.
Capítulo 5EsconderEsconder detalhesVer detalhesRecursão e Algoritmos de Ordenação
Recursão e Algoritmos de Ordenação
Aula 1 • Algoritmos de Ordenação Quadráticos
Implementa bubble sort, selection sort e insertion sort com análise passo a passo. Fornece a base O(n²) contra a qual ordenações mais rápidas são medidas.
Aula 2 • Algoritmos de Busca
Implementa busca linear e busca binária com provas de complexidade. Conecta a busca aos requisitos de dados ordenados e problemas reais de entrevista.
Aula 3 • Fundamentos de Recursão
Define casos base, casos recursivos e a pilha de chamadas. Constrói o modelo mental necessário para travessia de árvores e algoritmos de dividir e conquistar.
Aula 4 • Ordenação em Tempo Linear e Híbrida
Aborda counting sort, radix sort e Timsort usado na ordenação embutida do Python. Expande o kit de ferramentas dos alunos além da ordenação baseada em comparação.
Aula 5 • Ordenação por Divisão e Conquista
Implementa merge sort e quicksort, derivando sua complexidade O(n log n). Demonstra como a recursão permite a ordenação eficiente em grande escala.
Capítulo 6EsconderEsconder detalhesVer detalhesÁrvores e Estruturas de Dados Hierárquicas
Árvores e Estruturas de Dados Hierárquicas
Aula 1 • Árvores Binárias de Busca
Implementa inserção, busca e remoção em BST com análise O(log n) média. Demonstra armazenamento e recuperação de dados ordenados usando estrutura de árvore.
Aula 2 • Tries e Árvores de Prefixo
Constrói um trie para inserção, busca e correspondência de prefixos de strings. Permite soluções eficientes de autocomplete e consulta em dicionário.
Aula 3 • Árvores Binárias e Travessias
Define a terminologia de árvores e implementa travessias em-ordem, pré-ordem e pós-ordem. Estabelece o padrão de travessia recursiva usado em todos os algoritmos de árvore.
Aula 4 • Heaps e Operações com Heap
Constrói um max-heap e um min-heap, implementa heapify e heap sort. Dá suporte direto a implementações de fila de prioridade e algoritmos gananciosos.
Aula 5 • Árvores Balanceadas: AVL e Rubro-Negra
Explica o balanceamento baseado em rotação em árvores AVL e regras de cor em árvores rubro-negras. Garante desempenho O(log n) no pior caso para conjuntos de dados dinâmicos.
Capítulo 7EsconderEsconder detalhesVer detalhesGrafos e Algoritmos em Grafos
Grafos e Algoritmos em Grafos
Aula 1 • Problemas Avançados em Grafos
Aborda componentes fortemente conectados, verificação de bipartição e conceitos básicos de fluxo em rede. Estende as habilidades em grafos para categorias complexas de problemas do mundo real.
Aula 2 • Representações e Terminologia de Grafos
Define grafos direcionados, não direcionados, ponderados e cíclicos com representações em lista e matriz de adjacência. Estabelece a base para todas as implementações de algoritmos em grafos.
Aula 3 • Algoritmos de Caminho Mínimo
Implementa os algoritmos de Dijkstra e Bellman-Ford para grafos ponderados. Equipa os alunos para resolver problemas de roteamento e minimização de custo.
Aula 4 • Árvores Geradoras Mínimas
Implementa os algoritmos de Kruskal e Prim usando union-find e filas de prioridade. Resolve problemas de projeto de rede que exigem conectividade de custo mínimo.
Aula 5 • Busca em Largura e Busca em Profundidade
Implementa BFS com uma fila e DFS com recursão e uma pilha. Aborda componentes conectados, detecção de ciclos e ordenação topológica.
Capítulo 8EsconderEsconder detalhesVer detalhesProgramação Dinâmica e Técnicas Avançadas
Programação Dinâmica e Técnicas Avançadas
Aula 1 • Algoritmos Gananciosos e Backtracking
Implementa estratégias gananciosas para escalonamento de intervalos e codificação de Huffman, além de backtracking para N-Rainhas e subconjuntos. Completa o kit de ferramentas principal de projeto de algoritmos.
Aula 2 • Tabulação e DP Bottom-Up
Constrói tabelas DP iterativamente para troco de moedas, subida de escadas e caminhos em grade. Elimina a sobrecarga da recursão e esclarece a lógica de transição de estados.
Aula 3 • Introdução à Programação Dinâmica
Define subproblemas sobrepostos e subestrutura ótima como pré-requisitos da DP. Contrasta DP com dividir e conquistar para esclarecer quando cada uma se aplica.
Aula 4 • Memoização e DP Top-Down
Converte recursão ingênua em soluções memoizadas usando dicionários e functools.lru_cache. Demonstra redução drástica de complexidade em Fibonacci e problemas similares.
Aula 5 • Padrões Clássicos de DP
Resolve problemas de mochila, subsequência comum mais longa e distância de edição. Ensina templates de DP reutilizáveis aplicáveis a uma ampla gama de questões de entrevista.
Seu certificado válido de conclusão
Este curso é para você:
Mudança de carreira: você quer uma base técnica estruturada para ingressar em funções de engenharia de software.
Estudante de ciência da computação: precisa de prática de codificação prática além do que as aulas fornecem.
Desenvolvedor autodidata: consegue criar aplicativos, mas tem dificuldade com resolução de problemas algorítmicos sob pressão.
Analista de dados: pronto para aprofundar habilidades de programação em direção a responsabilidades de nível de engenharia.
Recém-formado: se preparando para entrevistas técnicas em empresas de tecnologia competitivas em breve.
Programador amador: curioso sobre como sistemas de software de nível profissional são realmente projetados internamente.
O que nossos alunos falam
As suas aulas são perfeitas. Adquiri o pacote de um ano e, finalmente, tenho a oportunidade de acompanhar diversos temas do meu interesse sem precisar mudar de plataforma... agradeço por tudo o que fazem, já recomendei vocês a outras pessoas...

Eu gosto de como as lições são direto ao ponto e como eu consigo alterar capítulos e pular conteúdos que não preciso.

Gosto do conteúdo e do modo de apresentação e transcrição de vídeos, o que acelera o processo!

A plataforma é rápida, simples de usar. A diversidade de conteúdo e os vídeos complementares ajudam muito no aprendizado.

Principais capacitações
FAQ
Quem é a Dedika?
O certificado é válido no Brasil?
Os cursos são gratuitos?
Qual a carga horária dos cursos?
Como são os cursos?
Como funcionam os cursos?
Qual é o tempo dos cursos?
Qual o valor ou preço dos cursos?
O que é um curso EAD ou online e como ele funciona?
Os cursos possuem PDF?




















