> elias | delta | optimal <

// Elias Delta – universell kod som är mer effektiv än Gamma för större heltal

0 tecken
0 tecken

>> funktioner

[EFFEKTIV]

Bättre än Gamma

Mer effektiv än Elias Gamma för n > 3.

[UNIVERSELL]

Universell kod

Fungerar för alla positiva heltal utan extra parametrar.

[ASYMPTOTISK]

Bra asymptotik

Använder log₂(n) + 2log₂(log₂(n)) + 1 bitar.

>> teknisk information

Hur Elias Delta fungerar

Elias Delta kodar ett positivt heltal n i tre delar: 1) beräkna L = ⌊log₂(n)⌋ + 1 (bitlängd), 2) koda L med Elias Gamma, 3) lägg till de sista L−1 bitarna av n. Denna dubbelt logaritmiska tillväxt gör Delta mer effektiv än Gamma för större tal samtidigt som koden är universell.

Exempel på Delta‑kodning

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

Jämför längder:
n     | Gamma | Delta | Besparing
1     | 1     | 1     | 0
16    | 9     | 9     | 0
100   | 13    | 12    | 1
1000  | 19    | 16    | 3

Varför använda Elias Delta

  • Bättre än Gamma för n > 3
  • Inga parametrar att konfigurera
  • Prefixkod utan tvetydighet
  • Bra för heltal av medelstorlek
  • En brygga till Elias Omega

>> vanliga frågor

Vad är Elias Delta-kodning?

Elias Delta är en förbättring av Elias Gamma där längden på talets binära representation kodas med Gamma och de återstående bitarna läggs till. Den använder ungefär log₂(n) + 2log₂(log₂(n)) + 1 bitar och är därför mer effektiv för stora heltal.

Delta jämfört med Gamma?

Gamma använder 2⌊log₂(n)⌋ + 1 bitar, medan Delta använder log₂(n) + 2log₂(log₂(n)) + 1 bitar. Delta är bättre för n > 3 och besparingen ökar för större tal. För mycket små värden (1–3) är de likvärdiga.

När ska man använda Delta istället för Gamma?

Använd Delta när dina data mestadels består av heltal > 3. För mycket små heltal (1–2) kan Gamma vara något bättre. För mycket stora tal kan Elias Omega vara ett bättre val, eftersom det förbättrar Delta ytterligare.

Är Delta den bästa Elias-koden?

Delta är ett mellanting. Gamma är enklast men minst effektiv. Delta förbättrar komprimeringen. Omega är bäst för mycket stora tal men också mest komplext. Välj beroende på datadistribution och implementeringskrav.