Boas, boas estruturas de dados
Miscelânea / / December 05, 2023
Este curso - mais um passo importante no seu desenvolvimento como um especialista de TI competente na área de programação. Depois de aprender os recursos básicos da linguagem, seu componente orientado a objetos, o próximo passo lógico é estudo de estruturas de dados típicas e frequentemente utilizadas, conhecimento de seus pontos fortes e fracos para uso eficaz em seus projetos.
Qualquer programa mais ou menos confiável usa pelo menos uma estrutura de dados simples, por exemplo, arrays. E em projetos mais complexos sempre existem outros mais complexos, como listas vinculadas, tabelas hash, conjuntos, matrizes associativas e assim por diante. Você precisa saber de tudo isso para que seus programas funcionem o mais rápido possível e ao mesmo tempo usem a memória do dispositivo com moderação. Além disso, quase sempre durante as entrevistas de emprego para o cargo de programador, eles são questionados questões sobre estruturas de dados e métodos para avaliar a complexidade de algoritmos, geralmente de uma perspectiva “grande O” (Grande Ó). Todos esses tópicos importantes estão incluídos neste curso. Concluí-lo permitirá que você não apenas escreva algoritmos com mais confiança, mas também tenha mais sucesso em entrevistas para futuros empregos.
Aprendendo a estimar a complexidade computacional de algoritmos
1. Introdução ao Grande O
2. Big O com complexidade logarítmica e fatorial
As estruturas de dados mais simples
1. Matriz estática
2. Matriz estática em C++
3. Matriz dinâmica
4. Matriz dinâmica em Python
5. Matriz dinâmica em C++
Listas vinculadas
1. Lista vinculada individualmente
2. Lista vinculada individualmente em C++
3. Lista duplamente vinculada
4. Lista duplamente vinculada em C++ do zero
5. Classe de lista de uma lista duplamente vinculada da biblioteca C++ STL
Filas e pilha
1. Filas FIFO e LIFO
2. Fila Collections.deque em Python
3. Classe Queue deque da biblioteca C++ STL
4. Pilha
5. Implementação de uma pilha em Python e C++
Árvores e conjuntos
1. Árvores binárias
2. Métodos para percorrer e remover vértices de uma árvore binária
3. Árvore binária em Python
4. Conjuntos. Definir operações
5. Conjuntos e multiconjuntos em C++
6. Contêiner de mapa da biblioteca STL em C++
7. Árvore de prefixo (carregado, Trie). Matrizes Associativas
Tabelas hash
1. Tabelas hash
2. Hashing universal
3. Método de endereçamento aberto. Hash duplo
4. Tabelas hash em Python e C++