> elias | delta | ótimo <

// Elias Delta – código universal mais eficiente que Gamma para inteiros maiores

0 caracteres
0 caracteres

>> recursos

[EFICIENTE]

Melhor que Gamma

Mais eficiente que Elias Gamma para inteiros > 3.

[UNIVERSAL]

Código universal

Funciona para qualquer inteiro positivo sem parâmetros adicionais.

[ASSINTÓTICO]

Boas propriedades assintóticas

Usa log₂(n) + 2log₂(log₂(n)) + 1 bits.

>> informações técnicas

Como funciona o Elias Delta

Elias Delta codifica um inteiro positivo n em três partes: 1) calcula L = ⌊log₂(n)⌋ + 1 (comprimento em bits), 2) codifica L usando Elias Gamma, 3) anexa os últimos L−1 bits de n. Esse crescimento duplamente logarítmico o torna mais eficiente que Gamma para números maiores, mantendo-se um código universal.

Exemplos de codificação Delta

n=1: L=1, Gamma(1)='1', bits='', Delta='1'
n=2: L=2, Gamma(2)='010', bits='0', Delta='0100'
n=3: L=2, Gamma(2)='010', bits='1', Delta='0101'
n=4: L=3, Gamma(3)='011', bits='00', Delta='01100'
n=16: L=5, Gamma(5)='00101', bits='0000', Delta='001010000'

Comparar comprimentos:
n     | Gamma | Delta | Ganho
1     | 1     | 1     | 0
16    | 9     | 9     | 0
100   | 13    | 12    | 1
1000  | 19    | 16    | 3

Por que usar Elias Delta

  • Melhor que Gamma para n > 3
  • Sem parâmetros para configurar
  • Código de prefixo livre de ambiguidades
  • Ótimo para inteiros de tamanho médio
  • Ponte para Elias Omega

>> perguntas frequentes

O que é a codificação Elias Delta?

Elias Delta é uma melhoria sobre Elias Gamma que codifica primeiro o comprimento da representação binária com Gamma e depois anexa os bits restantes. Usa aproximadamente log₂(n) + 2log₂(log₂(n)) + 1 bits, tornando-se mais eficiente para inteiros maiores.

Delta vs Gamma?

Gamma usa 2⌊log₂(n)⌋ + 1 bits, enquanto Delta usa log₂(n) + 2log₂(log₂(n)) + 1 bits. Delta é melhor para n > 3 e a economia aumenta para números maiores. Para valores muito pequenos (1–3), os dois códigos são semelhantes.

Quando usar Delta em vez de Gamma?

Use Delta quando seus dados contiverem principalmente inteiros > 3. Para inteiros muito pequenos (1–2), Gamma pode ser ligeiramente melhor. Para inteiros muito grandes, considere Elias Omega, que melhora ainda mais Delta.

Delta é o melhor código de Elias?

Delta é um meio-termo. Gamma é o mais simples, porém o menos eficiente. Delta melhora a compressão. Omega é o melhor para inteiros muito grandes, mas também o mais complexo. Escolha com base na distribuição dos dados e nas restrições de implementação.