🇧🇷 Esse repositório tem o intuito de servir como caderno digital, onde eu registro todos os meus estudos do livro : "Entendendo Algoritmos: Um Guia Ilustrado Para Programadores e Outros Curiosos" exercicíos e algumas anotações importantes, fique livre para colocar na linguagem que quiser, objetivo é inspirar outras pessoas.
- 1º Capítulo (Pesquisa Binária, Notação Big O) | Em andamento ⏲️
- [Exercicios](colocar link aqui)
- Uma maneira melhor de buscar
- Tempo de Execução
- [Exercicios](colocar link aqui)
- 2º Capítulo (Ordenação por Seleção) | Em breve ✋🏻
- [Exercícios](colocar link aqui)
- Listas Encadeadas
- Arrays
- Terminologia
- Inserindo algo no meio da lista
- Deleções
- 3º Recursão | Em breve ✋🏻
- [Exercicios](colocar link aqui)
- Recursão
- Caso base e caso recursivo
- A pilha
- A pilha de chamada com recursão
- 4º Quicksort | Em breve ✋🏻
- [Exercicios](colocar link aqui)
- Dividir para conquistar
- Notação BIG O (revisada)
- Merge Sort versus quicksort
- Caso médio versus pior caso
- 5º Tabelas Hash | Em breve ✋🏻
- [Exercicios](colocar link aqui)
- Funções Hash
- Utilização
- Usando tabelas has para pesquisas
- Evitando entradas duplicadas
- Utilizando tabelas hash como cache
- Colisões
- Desempenho
-
6º Pesquisa em largura | Em breve ✋🏻
- [Exercicios](colocar link aqui)
- Introdução a Grafos
- O que é um grafo?
- Pesquisa em largura
- Encontrando o caminho mínimo
- Filas
- Implementando o grafo
- Implentando o algoritmo
- Tempo de Execução
- 7º Algoritmo de Dijkstra | Em breve ✋🏻
- [Exercicios](colocar link aqui)
- Trabalhando com o algoritmo de Dijkstra
- Terminologia
- Adquirindo com piano
- Arestas com pesos negativos
- Implementação
- 8º Algoritmos Gulosos | Em breve ✋🏻
- [Exercicios](colocar link aqui)
- O problema do cronograma da sala de aula
- O problema da mochila
- O problema de cobertura de conjuntos
- Algoritmos de aproximação
- Problemas NP-Completos
- Caixeiro-viajante, passo a passo
- Como faço para saber se um problema é NP-completo?
- 9º Programação dinâmica | Em breve ✋🏻
- O problema da mochila
- A solução simples
- Programação Dinâmica
- Maior substring comum
- 10º K-vizinhos mais próximos | Em breve ✋🏻
- Classificando laranja versus toranjas
- Criando um sistema de recomenda
- Programação Dinâmica
- Maior substring comum
Uma informação importante, projetos abaixo irei fazer em um reporsitório separado, assim posso fazer notes melhores! :)
- Criando um sistema de recomendações
- Introdução ao aprendizado de máquina
1. Árvores 2. Indices Invertidos 3. A transformada de Fourier 4. Algoritmos paralelos 5. MapReduce - Por que os algoritmos distribuídos são úteis? - Função map - Função reduce 6. Filtro de Bloom e HyperLogLog - Filtros de bloom - HyperlogLog 7. Algoritmos SHA - Comparando arquivos - Verificando senhas 8. Hash sensitivo local 9. Troca de chaves de Diffie-Hellman 10. Programação linear