Skip to content

Latest commit

 

History

History
114 lines (76 loc) · 3.04 KB

README.md

File metadata and controls

114 lines (76 loc) · 3.04 KB

📚 Algoritmos em Python - Inspirado em "Entendendo os Algoritmos"

Este projeto contém scripts de algoritmos desenvolvidos em Python, baseados no livro "Entendendo os Algoritmos" de Aditya Bhargava. O projeto é ideal para iniciantes que desejam aprender e implementar os principais conceitos de algoritmos e estruturas de dados.

🧮 Conteúdo do Projeto

1. Estrutura de Pastas

  • algorithm/: Scripts que implementam algoritmos básicos e intermediários.
    • merge_sort.py - Implementação do Merge Sort.
    • ordenacao-por-selecao.py - Algoritmo de Ordenação por Seleção.
    • pilha.py - Estrutura de dados: Pilha.
    • lista-encadeada.py - Estrutura de dados: Lista Encadeada.
    • recursao.py - Exemplos de problemas resolvidos com recursão.
    • notacao-big-o.py - Demonstração da Notação Big-O.
    • quick_sort.py - Implementação do Quick Sort.
    • pesquisa-binaria.py - Algoritmo de Pesquisa Binária.
    • algoritmos.py - Outros algoritmos e exercícios.
  • book/: Recursos extras ou anotações relacionadas ao livro.
  • pytest/: Scripts de testes unitários para validação dos algoritmos.
  • types/: Conceitos básicos de tipagem e boas práticas em Python.

🚀 Objetivos

  • Aprender algoritmos de forma prática e visual.
  • Melhorar o raciocínio lógico através de implementações em Python.
  • Entender estruturas de dados fundamentais.
  • Familiarizar-se com a Notação Big-O para medir a eficiência dos algoritmos.
  • Revisar conceitos como recursão e pesquisa eficiente.

🛠️ Pré-requisitos

Para executar os scripts, você precisa ter:

  1. Python 3.11 (ou superior)
  2. Gerenciador de pacotes pip
  3. IDE ou editor de código (recomendado: VSCode)

📂 Como Usar

  1. Clone este repositório:

    git clone https://github.com/seu-usuario/algoritmos-python.git
  2. Acesse o diretório:

    cd algoritmos-python
  3. Execute os scripts no terminal:

    python algorithm/merge_sort.py
  4. Para rodar os testes:

    pytest pytest/

🧑‍💼 Tópicos Abordados

  1. Algoritmos de Ordenação:

    • Ordenação por Seleção
    • Merge Sort
    • Quick Sort
  2. Pesquisa:

    • Pesquisa Binária
  3. Estruturas de Dados:

    • Pilha
    • Listas Encadeadas
  4. Recursão:

    • Exemplos simples e complexos
  5. Eficiência dos Algoritmos:

    • Notação Big-O

📦 Recursos e Referências


🏆 Contribuição

Contribuições são bem-vindas! Se você deseja adicionar mais algoritmos, abra um Pull Request seguindo as boas práticas de Python.

  1. Fork o projeto.
  2. Crie uma nova branch.
  3. Faça suas alterações e adicione testes.
  4. Abra um Pull Request.