Estrutura de Dados e Algoritmos em Python: O Guia Completo
Grafos, árvores, listas encadeadas, ordenação, pilhas, filas, deques e mais! Tudo o que você precisa saber!
Description
Estrutura de Dados é uma área da Ciência da Computação que estuda as técnicas computacionais para a organização e manipulação eficiente de quaisquer quantidade de informações. Em outras palavras, quando você desenvolver um sistema deve pensar em quais estruturas de dados devem ser utilizadas; sendo que a escolha de determinada estrutura de dados influenciará no desempenho do software. Em outras palavras, entender sobre estrutura de dados é essencial para garantir que os algoritmos sejam eficientes, tanto em tempo de execução quanto em métricas de avaliação de desempenho.
Baseado nisso, nesse curso você vai aprender a teoria e implementará passo a passo as principais estruturas de dados existentes! Um dos diferenciais deste curso é que não usaremos bibliotecas prontas, ou seja, todas as implementações serão feitas do zero utilizando a linguagem de programação Python. Desta forma, além de entender a teoria você também terá um forte embasamento técnico sobre como implementar cada uma delas. E não há problema caso você seja novo(a) na linguagem Python, pois no início do curso você pode assistir mais de 2 (duas) horas de conteúdo com o básico dessa linguagem! Veja abaixo o que você vai aprender:
Notação Big-O para análise de algoritmos
Vetores ordenados e não ordenados
Pilhas, filas e deques
Listas encadeadas simples, listas encadeadas com extremidade dupla e listas duplamente encadeadas
Recursão
Algoritmos de ordenação: bubble sort, selection sort, insertion sort, shell sort, merge sort e quick sort
Árvores binárias de busca
Grafos
Algoritmos de busca em grafos, como busca gulosa e busca A Estrela (A*) da área de Inteligência Artificial e o clássico algoritmo de Dijkstra
Todos os exemplos serão desenvolvidos passo a passo e sem pressa, para que você consiga entender perfeitamente cada implementação. Além disso, faremos debug passo a passo nos códigos para que você entenda exatamente o que cada algoritmo faz! Ao final de cada módulo você pode responder questionários teóricos para revisar a teoria, bem como exercícios práticos com soluções. Este é o curso on-line mais fácil e didático, que você aprenderá tudo o que precisa saber sobre estrutura de dados e algoritmos em Python!
What You Will Learn!
- Aprenda o básico da programação em Python
- Entenda a notação Big-O para análise e comparativo entre algoritmos
- Crie vetores não ordenados e vetores ordenados
- Construa pilhas, filas e deques
- Implemente listas encadeadas simples e listas duplamente encadeadas do zero, bem como todas as suas operações
- Entenda e implemente os conceitos de recursão
- Implemente passo a passo os principais algoritmos de ordenação: bubble sort, selection sort, insertion sort, shell sort, merge sort e quick sort
- Analise e compare o desempenho entre algoritmos de ordenação e vetores ordenados
- Implemente passo a passo árvores binárias de busca e suas operações: inserção, pesquisa e exclusão
- Crie funções recursivas para travessia de árvores: travessia em pré-ordem, em ordem e pós-ordem
- Construa grafos utilizando orientação a objetos e matrizes de adjacência
- Implemente algoritmos para percorrimento de grafos, como a busca em profundidade e a busca em largura
- Faça a busca de menores rotas em grafos utilizando os seguintes algoritmos de Inteligência Artificial: busca gulosa e busca A Estrela (A*)
- Implemente o algoritmo de Dijkstra para encontrar menores rotas
- Implemente todos os algoritmos do zero sem o uso de bibliotecas
Who Should Attend!
- Alunos de graduação cursando disciplinas de Estrutura de Dados ou Programação
- Pessoas interessadas em como o armazenamento nos computadores funciona
- Pessoas interessadas em linguagens de programação
- Pessoas que desejam aprender como representar problemas computacionais utilizando estrutura de dados
- Profissionais que desejam um emprego na área da computação e farão entrevistas na área