🚨 Informamos aos concluintes que após a validação do orientador no sistema, A BIBLIOTECA PRECISA DE 7 DIAS ÚTEIS para tratar e processar os dados. Por isso, NÃO DEIXE PARA ENVIAR O TCC (graduação ou pós-graduação) DE ÚLTIMA HORA. Dúvidas: repositorio@ufersa.edu.br🚨

Análise de complexidade de algoritmos utilizando métodos empíricos/experimentais

dc.contributor.advisorLopes, Kennedy Reurison
dc.contributor.advisormailkennedy.lopes@ufersa.edu.br
dc.contributor.authorVidal, Marcos Mikael Lima
dc.contributor.referee1Lopes, Kennedy Reurison
dc.contributor.referee2Vieira, George Felipe Fernandes
dc.contributor.referee3Sarmento, Lucas Abrantes
dc.coverage.spatialPau dos Ferros
dc.date.accessioned2026-01-17T13:08:41Z
dc.date.available2026-01-17T13:08:41Z
dc.date.issued2025-12-15
dc.description.abstractA análise de complexidade de algoritmos é fundamental para o desenvolvimento de sistemas de alta performance, permitindo prever o consumo de recursos computacionais. No entanto, a análise assintótica teórica nem sempre reflete o desempenho prático devido a fatores como constantes ocultas, arquitetura de hardware e otimizações de compiladores. Este trabalho propõe uma metodologia automatizada para a análise empírica da complexidade temporal de algoritmos de ordenação, tratando-os como caixas-pretas. O sistema desenvolvido avalia oito algoritmos clássicos (Bubble, Insertion, Merge, Quick, Heap, Counting, Radix e Bucket Sort) em cenários com dados aleatórios, ordenados e reversos. A metodologia reside na aplicação do otimizador Adam (Gradiente Descendente Adaptativo) para ajustar modelos matemáticos (O(n), O(n2) e O(n log n)) aos tempos de execução coletados, utilizando o Erro Quadrático Médio (RMSE) como critério de seleção. Os resultados experimentais confirmaram a hierarquia teórica esperada, validaram casos especiais como o desempenho linear do Insertion Sort em vetores ordenados e evidenciaram a alta instabilidade do Bubble Sort. O estudo conclui que a técnica de ajuste iterativo de curvas é eficaz para classificar algoritmos empiricamente, oferecendo uma ferramenta prática para tomada de decisão em engenharia de software.
dc.description.abstract2Algorithm complexity analysis is fundamental for developing high-performance systems, enabling the prediction of computational resource consumption. However, theoretical asymptotic analysis does not always reflect practical performance due to factors such as hidden constants, hardware architecture, and compiler optimizations. This work proposes an automated methodology for the empirical analysis of the time complexity of sorting algorithms, treating them as black boxes. The developed system evaluates eight classic algorithms (Bubble, Insertion, Merge, Quick, Heap, Counting, Radix, and Bucket Sort) across random, sorted, and reverse data scenarios. The methodological innovation lies in applying the Adam optimizer (Adaptive Gradient Descent) to fit mathematical models (O(n), O(n2), and O(n log n)) to observed execution times, using the Root Mean Square Error (RMSE) as the selection criterion. Experimental results confirmed the expected theoretical hierarchy, validated special cases such as the linear performance of Insertion Sort on sorted vectors, and highlighted the high instability of Bubble Sort. The study concludes that the iterative curvefitting technique is effective for empirically classifying algorithms, providing a practical tool for decision-making in software engineering.
dc.description.physical54 f.
dc.format.mimetypepdf
dc.identifier.bibliographicCitationVIDAL, Marcos Mikael. Análise de complexidade de algoritmos utilizando métodos empíricos/experimentais. 2025. 54 f. Monografia (Bacharelado Interdisciplinar em Tecnologia da Informação) - Centro Multidisciplinar de Pau dos Ferros, Universidade Federal Rural do Semi-Árido, Pau dos Ferros, 2025.
dc.identifier.urihttps://repositorio.ufersa.edu.br/handle/prefix/14895
dc.language.isopt_BR
dc.publisher.centerCentro Multidisciplinar de Pau dos Ferros - CMPF
dc.publisher.countryBrasil
dc.publisher.departmentDepartamento de Engenharias e Tecnologia - DETEC
dc.publisher.initialsUFERSA
dc.publisher.institutionUniversidade Federal Rural do Semi-Árido
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rights.holderUFERSA
dc.rights.licenseAttribution-ShareAlike 3.0 Brazilen
dc.rights.urihttp://creativecommons.org/licenses/by-sa/3.0/br/
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::TECNOLOGIA DA INFORMACAO
dc.subject.keywordAnálise de algoritmos
dc.subject.keywordAlgoritmos de ordenação
dc.subject.keywordGradiente descendente
dc.subject.keywordAprendizado de máquina
dc.subject.keywordAlgorithm analysis
dc.subject.keywordSorting algorithms
dc.subject.keywordGradient descent
dc.subject.keywordMachine learning
dc.titleAnálise de complexidade de algoritmos utilizando métodos empíricos/experimentais
dc.title.alternativeAlgorithm complexity analysis using empirical/experimental methods
dc.typeinfo:eu-repo/semantics/bachelorThesis

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
MarcosMLV_MONO.pdf
Tamanho:
12,74 MB
Formato:
Adobe Portable Document Format

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
1,58 KB
Formato:
Item-specific license agreed upon to submission
Descrição: