Escolha seu idioma
Curso de Algoritmos e Estrutura de Dados em Python
Mais de 2 milhões de alunos no mundo

Curso de Algoritmos e Estrutura de Dados em Python

4,5

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.

Dedika para empresas

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.

Clique aqui

Conteúdo do curso

8 Capítulos • 40 AulasDuração entre 4 e 360 horas (você decide)

Capítulo 1Ver detalhes

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 2Ver detalhes

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 3Ver detalhes

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 4Ver detalhes

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 5Ver detalhes

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 6Ver detalhes

Á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 7Ver detalhes

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 8Ver detalhes

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.

Certificação

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...
Giulio Carlo
Giulio CarloAluno de Marketing Digital
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.
Mariana Ferres
Mariana FerresAluna de Fotografia
Gosto do conteúdo e do modo de apresentação e transcrição de vídeos, o que acelera o processo!
Luciana Alvarenga
Luciana AlvarengaAluna de Design de Unhas
A plataforma é rápida, simples de usar. A diversidade de conteúdo e os vídeos complementares ajudam muito no aprendizado.
André Felipe
André FelipeAluno de Engenharia de Prompt

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?