/projeto-algoritmos

Implementações em Python do livro Projeto de Algoritmos do Professor Nivio Ziviani (UFMG)

Primary LanguagePython

Projeto de Algoritmos - Implementaçaões em Python

Introdução

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:

  1. a primeira, com implementações em Pascal e C
  2. a segunda, com implementações em Java e C++

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

Organização do repositório

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++:

  1. Introdução
  2. Paradigmas de Projeto de Algoritmos
  3. Estruturas de Dados Básicas
  4. Ordenação
  5. Pesquisa em Memória Primária
  6. Pesquisa em Memória Secundária
  7. Algoritmos em Grafos
  8. Processamento de Cadeias de Caracteres
  9. Problemas NP-Completo e Heuristicas