> elias | delta | optimal <

// Elias Delta – universel kode, der er mere effektiv end Gamma for større heltal

0 tegn
0 tegn

>> funktioner

[EFFEKTIV]

Bedre end Gamma

Mere effektiv end Elias Gamma for n > 3.

[UNIVERSEL]

Universel kode

Virker for alle positive heltal uden ekstra parametre.

[ASYMPTOTISK]

God asymptotik

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

>> teknisk info

Sådan fungerer Elias Delta

Elias Delta koder et positivt heltal n i tre dele: 1) Find L = ⌊log₂(n)⌋ + 1 (bitlængde), 2) kod L med Elias Gamma, 3) tilføj de sidste L−1 bits af n. Denne dobbelt-logaritmiske vækst gør Delta mere effektiv end Gamma for større tal og bevarer koden universel.

Eksempler på Delta-kodning

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'

Sammenlign længder:
n     | Gamma | Delta | Besparelse
1     | 1     | 1     | 0
16    | 9     | 9     | 0
100   | 13    | 12    | 1
1000  | 19    | 16    | 3

Hvorfor bruge Elias Delta

  • Bedre end Gamma for n > 3
  • Ingen parametre at konfigurere
  • Entydig præfiks‑kode
  • God til heltal i mellemstørrelse
  • Bro til Elias Omega

>> ofte stillede spørgsmål

Hvad er Elias Delta-kodning?

Elias Delta er en forbedring af Elias Gamma, hvor længden af tallets binære repræsentation først kodas med Gamma, hvorefter de resterende bits tilføjes. Den bruger cirka log₂(n) + 2log₂(log₂(n)) + 1 bits og er derfor mere effektiv for større heltal.

Delta vs. Gamma‑kodning?

Gamma bruger 2⌊log₂(n)⌋ + 1 bits, mens Delta bruger log₂(n) + 2log₂(log₂(n)) + 1 bits. Delta er bedre for n > 3, og besparelsen vokser for større tal. For meget små værdier (1–3) er de nogenlunde ens.

Hvornår bør jeg bruge Delta i stedet for Gamma?

Brug Delta, når dine data hovedsageligt består af heltal > 3. For meget små heltal (1–2) kan Gamma være en anelse bedre. For meget store tal kan Elias Omega være et bedre valg, da den forbedrer Delta yderligere.

Er Delta den bedste Elias‑kode?

Delta er et kompromis. Gamma er den enkleste, men mindst effektive. Delta forbedrer komprimeringen. Omega er bedst til meget store tal, men også mest kompleks. Vælg efter datadistribution og implementationskrav.