/algorithms

O foco principal deste projeto é, com base nos ensinamentos de ciência da computação da Trybe, desenvolver e otimizar algoritmos que resolvem problemas do dia a dia, aprimorando habilidades de lógica, interpretação de problemas e otimização de soluções.

Primary LanguagePython

Algorithms

Contexto

O foco principal deste projeto é, com base nos ensinamentos de ciência da computação da Trybe, desenvolver e otimizar algoritmos que resolvem problemas do dia a dia, aprimorando habilidades de lógica, interpretação de problemas e otimização de soluções. Durante o projeto, são abordadas diferentes abordagens algorítmicas, como busca, recursividade, criptografia e algoritmos de ordenação, utilizando técnicas que otimizam a execução e a eficiência dos algoritmos.

O que é a Trybe?🤔 A Trybe é uma escola de desenvolvimento web genuinamente comprometida com o sucesso profissional de seus estudantes. Com o Modelo de Sucesso Compartilhado (MSC) oferecido pela Trybe Fintech, uma instituição financeira autorizada pelo Banco Central do Brasil, os alunos têm a opção de pagar apenas quando estiverem trabalhando.

O projeto simula cenários como encontrar o melhor horário para disponibilizar conteúdos educacionais, verificar se duas palavras são anagramas, identificar palíndromos e implementar testes automatizados para garantir o correto funcionamento das funções.

Além disso, foi aplicado o conceito de complexidade de tempo para avaliar o desempenho dos algoritmos em grandes volumes de dados, assegurando que as soluções sejam eficientes e escaláveis. O desenvolvimento foi orientado para atender diferentes requisitos de problemas, desde a simples busca em arrays até a implementação de algoritmos de ordenação personalizados.

Funcionalidades e Algoritmos Implementados:

  • Busca de horários de maior acesso: Algoritmo que identifica o horário com mais acessos simultâneos à plataforma de estudo.
  • Teste de criptografia: Implementação de testes automatizados para uma função de criptografia, validando sua lógica.
  • Palíndromos (Recursivo e Iterativo): Algoritmos para verificar se uma palavra é um palíndromo utilizando recursividade e iteratividade.
  • Anagramas: Algoritmo de ordenação personalizado que verifica se duas strings são anagramas.
  • Identificação de números duplicados: Algoritmo de busca que identifica números repetidos em uma lista de inteiros.

Tecnologias Usadas

  • Python - Linguagem de programação principal utilizada para implementar os algoritmos.
  • Pytest - Ferramenta de testes automatizados para validar a funcionalidade dos algoritmos.
  • Algoritmos de Busca - Técnicas para encontrar elementos em listas e arrays.
  • Algoritmos de Ordenação - Implementação manual de algoritmos de ordenação, como Quick Sort, Merge Sort, e outros.
  • Recursividade - Aplicada na resolução de problemas como verificação de palíndromos.

Entre em contato:

E-mail isaque oliveira WhatsApp