Skip to content

Projeto dedicado a exercitar conceitos que abrangem a temática algorítmica, como ordem de complexidade, recursividade e algoritmos de ordenação e de busca.

Notifications You must be signed in to change notification settings

carolvpinheiro/algorithms

Repository files navigation

algorithms

Este é um projeto dedicado a exercitar conceitos que abrangem a temática algorítmica.

Tratam-se de 5 exercícios que levam em consideração estruturas de dados, complexidade de algoritimos, capacidade de interpretação do problema, capacidade de resolução do problema de forma otimizada, analisar corretamente a ordem de complexidade de um algoritmo, recursividade e algoritmos de ordenação e algoritmos de busca.


Requisitos

1 - Número de estudantes estudando no mesmo horário (Algoritmo de busca)

1.1 - Retorne, para uma entrada específica, a quantidade de estudantes presentes

1.2 - Retorne None se em permanence_period houver alguma entrada inválida

1.3 - Retorne None se target_time recebe um valor vazio

1.4 - A função poderá, em menos que 0.02s, ser executada 10.000 vezes para uma entrada pequena

2 - Palíndromos (Recursividade)

2.1 - Retorne true se a palavra passada por parâmetro for um palíndromo

2.2 - Retorne false se a palavra passada por parâmetro não for um palíndromo

2.3 - Retorne false se nenhuma palavra for passada por parâmetro

3 - Anagramas (Algoritmo de ordenação)

3.1 - Retorne true se as palavras passadas forem anagramas

3.2 - Retorne false se as palavras passadas por parâmetro não forem anagramas

3.3 - Retorne false se alguma das palavras passadas por parâmetro for uma string vazia

3.4 - Execute a função, somando 10.000 execuções para uma entrada pequena, em menos que 8.2s

4 - Encontrando números repetidos (Algoritmo de busca)

4.1 - Retorne o número repetivo se a função receber, como parâmetro, uma lista com números repetidos

4.2 - Retorne false se a função não receber nenhum parâmetro

4.3 - Retorne false se a função receber, como parâmetro, uma string

4.4 - Retorne false se a função receber, como parâmetro, uma lista sem números repetidos

4.5 - Retorne false se a função receber, como parâmetro, apenas um valor

4.6 - Retorne false se a função receber, como parâmetro, um número negativo

4.7 - Execute a função, somando 10.000 execuções para uma entrada pequena, em menos que 0.01s

5 - Palíndromos (Iteratividade)

5.1 - Retorne true se a palavra passada como parâmetro for um palíndromo, executando uma função iterativa

5.2 - Retorne false se nenhuma palavra for passada como parâmetro, executando uma função iterativa

5.3 - Execute a função, somando 10.000 execuções para uma entrada pequena, em menos que 0.005s

Executando o projeto

  • Faça o clone deste repositório utilizando git clone;

  • Crie o ambiente virtual: python3 -m venv .venv

  • Ative o ambiente virtual: source .venv/bin/activate

  • Instale as dependências do projeto: python3 -m pip install -r dev-requirements.txt

  • Execute os arquivos separadamente: python3 nome_do_arquivo.py

About

Projeto dedicado a exercitar conceitos que abrangem a temática algorítmica, como ordem de complexidade, recursividade e algoritmos de ordenação e de busca.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages