Como funciona

Como funciona: Compactação de dados

algoritmo

Você já se perguntou alguma vez como é que os sistemas de tecnologia conseguem reduzir o tamanho de um arquivo, ou efetuar uma transferência de dados mais rápida que o normal ?

A partir de hoje eu vou comentar em mais detalhes o funcionamento de alguns mecanismos dos programas que utilizamos – os conhecidos ALGORITMOS.

Algorítmo de hoje: Compactação de dados

A finalidade da compactação de dados é permitir o armazenamento e transferência de dados em tamanho menor que a informação original.

O contraponto desta operação é que tanto para compactar ou descompactar (ou seja, o acesso ao arquivo), depende deste processamento prévio de decodificação.

Quanto a compactação de um arquivo ou conjunto de arquivos por exemplo, o método utilizado em linhas gerais é o seguinte:

1 – Ler um-a-um os caracteres do arquivo e identificar partes que se repetem
Por exemplo, na expressão ‘banana nanica’ temos três vezes o ‘na’.

2 – Criar uma tabela de símbolos que mais se repetem para que seja utilizada na codificação. Assim podemos ter no exemplo acima:

na=1
ba=2
ni=3
ca=4

3 – Aplicar a tabela ao arquivo todo seja ele texto ou binário (foto, mp3 etc). Assim temos:
Banana nanica (13 caracteres)
211 134 (7 caracteres)

4 – Gravar a tabela de símbolos e o arquivo compactado dentro de um único pacote (zip por exemplo).

Mas ai vem as perguntas comuns a este tema:

Porque certos arquivos compactados não ficam muito menores que o original?
Isto é devido a dois motivos (na verdade, um dos dois):
O arquivo já é comactado por outro método por ex. Mp3
O arquivo possui conteúdo pouco repetitivo, ou seja: não gera uma tabela muito boa, que permita muitas substituições.

Por outro lado, arquivos de texto costumam permitir grande compactação, pois costumam conter grande quantidade de símbolos e sequencias que se repetem.

 

Curtiu? Espero que sim, em breve teremos outros algorítmos revisados, aqui no QualquerBit

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Translate »