Logo do repositório

Explorando algoritmos de compressão de dados: teoria, implementação e desempenho

Carregando...
Imagem de Miniatura

Orientador

Vianna, Andréa Carla Gonçalves

Coorientador

Pós-graduação

Curso de graduação

Bauru - FC - Ciência da Computação

Título da Revista

ISSN da Revista

Título de Volume

Editor

Universidade Estadual Paulista (Unesp)

Tipo

Trabalho de conclusão de curso

Direito de acesso

Acesso abertoAcesso Aberto

Resumo

Resumo (português)

Este trabalho apresenta um estudo abrangente, a implementação prática e a análise de desempenho de algoritmos clássicos de compressão de dados, a saber: Huffman, LZ77, LZW e GZIP. São explorados os conceitos teóricos fundamentais de cada algoritmo, seguidos pela implementação prática utilizando a linguagem de programação C++. As implementações dos algoritmos lidam com os formatos de arquivo de texto simples (.txt), imagens bitmap (.bmp) e arquivos de áudio PCM (.wav), demonstrando versatilidade e aplicabilidade em diferentes domínios de dados. Para facilitar a interação do usuário, foi desenvolvida uma interface gráfica utilizando a biblioteca GTK, permitindo a seleção dos algoritmos de compressão e o arquivo de entrada. Ademais, para realizar uma análise comparativa rigorosa, foram utilizados scripts em Python para processar os dados experimentais e gerar representações gráficas dos principais indicadores de desempenho, como a taxa de compressão e o tempo de execução para diferentes tipos de arquivos. Os resultados experimentais indicam que não há um algoritmo que se destaque universalmente, pois cada um apresenta vantagens específicas conforme o tipo de arquivo e as características dos dados. Isso ressalta a importância da escolha do método de compressão adequado às necessidades específicas da aplicação. O projeto contribui tanto com uma ferramenta prática para compressão de dados quanto com um recurso educacional que auxilia na compreensão dos algoritmos clássicos e seu comportamento em cenários reais.

Resumo (inglês)

This work presents a comprehensive study, implementation, and performance analysis of classical data compression algorithms, namely Huffman, LZ77, LZW, and GZIP. The theoretical concepts behind each algorithm are explored in depth, followed by practical implementations using C++ programming language. The implementations support plain text (.txt), bitmap images (.bmp), and PCM audio files (.wav), demonstrating versatility and applicability in different data domains. To facilitate user interaction, a graphical user interface (GUI) was developed with the GTK library, enabling selection of compression algorithms, and input files. Furthermore, to conduct a rigorous comparative analysis, Python scripts were employed to process experimental data and generate graphical representations of key performance metrics such as compression ratio and execution time for different file types. The experimental results indicate that no single algorithm universally outperforms others; rather, each one exhibits specific advantages depending on the file type and data characteristics. This highlights the importance of choosing the appropriate compression method tailored to the application’s needs. The project contributes as a practical tool for data compression and an educational resource that aids in understanding fundamental compression algorithms and their behavior in real-world scenarios.

Descrição

Palavras-chave

Compressão de dados (Computação), Teoria da informação, Compressão sem perdas – Huffman, LZ77, LZW, GZIP, Data compression, Compression algorithms, Huffman coding

Idioma

Português

Citação

KADOOKA, Gustavo Yujii Silva. Explorando algoritmos de compressão de dados: teoria, implementação e desempenho. 2025. 96 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – Faculdade de Ciências, Universidade Estadual Paulista (UNESP), Bauru, 2025.

Itens relacionados

Financiadores

Unidades

Item type:Unidade,
Faculdade de Ciências
FC
Campus: Bauru


Departamentos

Cursos de graduação

Item type:Curso de graduação,

Programas de pós-graduação