Voltar aos projetos
Sobre o Projeto
Aplicação visual e interativa que permite estudar o comportamento de diferentes algoritmos de ordenação através de animações em tempo real. Oferece controles para ajustar o tamanho do array, velocidade de execução e feedback sonoro, possibilitando análise comparativa entre algoritmos como Bubble Sort, Quick Sort, Merge Sort, Heap Sort, Selection Sort e Insertion Sort.
Funcionalidades
Visualização de Algoritmos de Ordenação
Exibição em tempo real do processo de ordenação de seis algoritmos diferentes, com barras coloridas que representam os valores do array e mudam dinamicamente durante a execução.
Controles de Configuração do Array
Ajuste do tamanho do array, controle de velocidade de execução dos algoritmos e botão para randomizar os valores, permitindo testar diferentes cenários e comportamentos.
Feedback Sonoro Sincronizado
Sistema de áudio que emite sons durante o processo de ordenação, com frequências variadas baseadas na altura das barras, proporcionando experiência audiovisual completa da execução dos algoritmos.
Interface com Tema Alternável
Alternância entre temas claro e escuro para melhor conforto visual durante o uso prolongado da aplicação.
Desafios
Sincronização Visual e Sonora dos Algoritmos
Coordenar a execução dos algoritmos com as atualizações visuais das barras e o feedback sonoro em tempo real, garantindo que as cores das barras refletissem corretamente suas alturas e que os sons correspondessem às trocas de elementos.
Controle Dinâmico de Velocidade
Implementar um sistema que permite ajustar a velocidade de execução dos algoritmos durante a visualização, controlando delays e mantendo a fluidez das animações sem comprometer a sincronia audiovisual.
Responsividade e Adaptação de Tamanho
Adaptar o tamanho máximo dos arrays baseado nas dimensões da tela do usuário, garantindo que a visualização funcionasse bem tanto em dispositivos móveis quanto em monitores grandes, limitando valores para manter performance.
Adaptação dos Algoritmos Para Visualização
Modificar a implementação tradicional dos algoritmos de ordenação para incluir pontos de pausa e atualização da interface, permitindo que cada passo do processo fosse visível e acompanhado de feedback sonoro correspondente.
Aprendizados
Implementação de Algoritmos de Ordenação
Compreensão do funcionamento interno de seis algoritmos de ordenação diferentes, incluindo suas complexidades, casos de uso e comportamentos em diferentes cenários de entrada.
Web Audio API Para Feedback Sonoro
Uso da Web Audio API para criar um sistema de feedback sonoro dinâmico, gerando frequências variadas sincronizadas com as operações dos algoritmos e proporcionando uma melhor experiência audiovisual.
Gerenciamento de Estado no React
Utilização de Context API, hooks e gerenciamento de estado complexo para controlar múltiplos aspectos da aplicação simultaneamente, incluindo configurações, estado dos algoritmos e sincronização de componentes.