O livro Projeto de Algoritmos do pesquisador Nívio Ziviani é uma grande referência como material de ensino e estudo de algorimos e estruturas de dados em universidades como a Universidade Federal de Minas Gerais. O livro já foi publicado em 2 versões:
Este repositório é um projeto pessoal iniciado por Vitor Buxbaum Orlandi (LinkedIn, GitHub), tendo como principal finalidade do projeto aumentar a acessibilidade ao excelente trabalho desenvolvido por Ziviani e colegas, trazendo alternativas em Python para as implementações da versão do livro em Java. Seguindo o objetivo de acessibilidade para pessoas estudantes brasileiras, e como este README já indica, todos os códigos e comentários estarão escritos em português brasileiro.
O projeto tem como objetivo secundário estudo e prática do conteúdo apresentado no livro Projeto de Algortimos, bem como a prática de guias de implementação apresentados no livro Código Limpo de Robert C. Martin (Uncle Bob).
Dito isso, são bem-vindas contribuições que
- adequem nomes de classes, métodos e variáveis aos português brasileiro
- adequem a escrita do código às boas práticas do Código Limpo
- acrescentem implementações em Python ainda não disponibilizadas
- aperfeiçoem testes das implementações
Como o repositório é inspirado no livro Projeto de Algoritmos, a estrutura de diretórios segue a mesma organização de capítulos do livro com implmentações em Java e C++:
- Introdução
- Paradigmas de Projeto de Algoritmos
- Estruturas de Dados Básicas
- Ordenação
- Pesquisa em Memória Primária
- Pesquisa em Memória Secundária
- Algoritmos em Grafos
- Processamento de Cadeias de Caracteres
- Problemas NP-Completo e Heuristicas