Estrutura de Dados e Algoritmos em Python: O Guia Completo
What you'll 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
Requirements
- Lógica de programação, principalmente estruturas condicionais e estrutura de repetição
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!
Who this course is for:
- 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
Instructors
Olá! Meu nome é Jones Granatyr e já trabalho em torno de 10 anos com Inteligência Artificial (IA), inclusive fiz o meu mestrado e doutorado nessa área. Atualmente sou professor, pesquisador e fundador do portal IA Expert, um site com conteúdo específico sobre Inteligência Artificial. Desde que iniciei na Udemy criei vários cursos sobre diversos assuntos de IA, como por exemplo: Deep Learning, Machine Learning, Data Science, Redes Neurais Artificiais, Algoritmos Genéticos, Detecção e Reconhecimento Facial, Algoritmos de Busca, Mineração de Textos, Buscas em Textos, Mineração de Regras de Associação, Sistemas Especialistas e Sistemas de Recomendação. Os cursos são abordados em diversas linguagens de programação (Python, R e Java) e com várias ferramentas/tecnologias (tensorflow, keras, pandas, sklearn, opencv, dlib, weka, nltk, por exemplo). Meu principal objetivo é desmistificar a área de IA e ajudar profissionais de TI a entenderem como essa tecnologia pode ser utilizada na prática e que possam visualizar novas oportunidades de negócios.
A plataforma IA Expert tem o objetivo de trazer cursos teóricos e práticos de fácil entendimento sobre sobre Inteligência Artificial e Ciência de Dados, para que profissionais de todas as áreas consigam entender e aplicar os benefícios que a IA pode trazer para seus negócios, bem como apresentar todas as oportunidades que essa área pode trazer para profissionais de tecnologia da informação. Também trazemos notícias atualizadas semanais sobre a área em nosso portal.