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.
- 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.
- 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.