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 algoritmosVetores ordenados e não ordenadosPilhas, filas e dequesListas encadeadas simples, listas encadeadas com extremidade dupla e listas duplamente encadeadasRecursãoAlgoritmos de ordenação: bubble sort, selection sort, insertion sort, shell sort, merge sort e quick sortÁrvores binárias de buscaGrafosAlgoritmos de busca em grafos, como busca gulosa e busca A Estrela (A*) da área de Inteligência Artificial e o clássico algoritmo de DijkstraTodos os exemplos serão desenvolvidos passo a passo e sem pressa, para que você consiga entender perfeitamente cada implementação. Além disso, faremos deb
What you'll learn
understand and analyze algorithms using Big-O notation
implement arrays, stacks, queues, and linked lists
apply recursive techniques
develop sorting algorithms like bubble, selection, insertion, shell, merge, and quick sort
construct and manipulate binary search trees
explore graph algorithms including greedy search, A*, and Dijkstra's algorithm