Skip to content

projeto-de-algoritmos-2025/Greedy-D30

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algoritmos Ambiciosos - Compressor de Huffman

Sobre

O Compressor de Huffman é um projeto desenvolvido pela Dupla 30 da disciplina de Projeto de Algoritmos, da Universidade de Brasília (UnB/FCTE), para o módulo 3 (Algoritmos Ambiciosos). Para isso, foi construído um compressor de arquivos utilizando o algoritmo de Huffman, que se baseia na ideia da construção de prefixos para os caracteres de um texto, de modo a economizar espaço em disco na representação de bits, de acordo com a frequência de um elemento no texto. O projeto tem suporte às seguintes funcionalidades:

  • Compressão de arquivos de texto (Plain Text) e de arquivos em formatos diversos para um binário .huff;
  • Descompressão de arquivos gerados pela aplicação;
  • Geração de um dicionário contendo informações do arquivo e os códigos prefixos (Cabeçalho);
  • Compressão e descompressão sucessiva;

Obs: a compressão utiliza códigos prefixos pra reduzir a quantidade de bits dos caracteres e adiciona o Cabeçalho (não codificado) antes do conteúdo codificado. Se o conteúdo do arquivo de origem for pequeno o suficiente ou for lido em binário, poderá haver aumento da quantidade de bytes, por causa da adição do Cabeçalho.


Apresentação

Confira a apresentação do projeto pela dupla no link: https://youtu.be/ft9hvGkDvJ4🔗


Screenshots

Abaixo, estão screenshots demonstrando um exemplo do funcionamento do sistema:

► Menu Principal

Menu Principal

► Menu Pós Compressão

Menu Pós-Compressão

► Visualização do Cabeçalho Gerado

Cabeçalho Gerado


Requisitos

  • Linguagem: Python
  • Bibliotecas:
    • tkinter (nativa do Python)
    • bitarray (pip install bitarray)

Instalação e Uso

  1. Clone o repositório na pasta de sua preferência:
git clone https://github.com/projeto-de-algoritmos-2025/Greedy-D30
  1. Navegue até a pasta :
cd Greedy-D30
  1. Execute o arquivo main.py:
python main.py

Alunos

Eduardo de Pina Pedro Everton
23/1034494 22/1008768

About

Repositório da dupla 30 para o trabalho do módulo 3 (Algoritmos Ambiciosos), de Projeto de Algoritmos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages