/algorithms-python

Desenvolvidos algoritmos para resolver problemas, com foco na otimização

Primary LanguagePython

Algoritmos

Sobre o projeto

Foram implementados algoritmos de busca e ordenação, de maneira interativa e recursiva, analizando a complexidade de cada um.

Tecnologias utilizadas

  • Python - Linguagem de programação interpretada de alto nível.
  • Pytest - Framework de testes em Python.

Funcionalidades dos algoritmos

  • Busca quantos estudantes estavam estudando em um determinado horário (target_time).
  • Verifica se uma string é um palíndromo de maneira recursiva.
  • Verifica se duas strings são anagramas uma da outra.
  • Encontra o primeiro número duplicado em uma lista.
  • Verifica se uma string é um palíndromo de maneira iterativa.

Além disso, foram desenvolvidos testes para a função encrypt_message.

Instalação

# Clonar Projeto
$ git clone git@github.com:lucas-da-silva/algorithms-python.git

# Entrar no diretório
$ cd algorithms-python

# Criar ambiente virtual e ativá-lo
$ python3 -m venv .venv && source .venv/bin/activate

# Instalar dependências
$ python3 -m pip install -r dev-requirements.txt

# Executar algoritmos
$ python3 challenges/main.py

# Executar testes
$ python3 -m pytest

Estrutura do projeto

$PROJECT_ROOT
|   # Algoritmos de busca e ordenação
├── challenges
|   # Testes
└── tests
    |  # Testes da função encrypt_message
    └── encrypt

Autor