// Elias Delta – बड़े पूर्णांकों के लिए Gamma से अधिक कुशल सार्वभौमिक कोड
n > 3 के लिए Elias Gamma की तुलना में अधिक कुशल।
कोई अतिरिक्त पैरामीटर के बिना किसी भी पॉज़िटिव इंटीजर पर काम करता है।
log₂(n) + 2log₂(log₂(n)) + 1 बिट्स का उपयोग करता है।
Elias Delta सकारात्मक पूर्णांक n को तीन चरणों में एन्कोड करता है: 1) L = ⌊log₂(n)⌋ + 1 (बिट लंबाई) निकालें, 2) L को Elias Gamma से एन्कोड करें, 3) n के अंतिम L−1 बिट्स जोड़ें। यह डबल‑लॉग वृद्धि बड़े संख्याओं के लिए Gamma की तुलना में अधिक कुशल है और फिर भी यूनिवर्सल कोड बना रहता है।
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' लंबाई की तुलना: n | Gamma | Delta | बचत 1 | 1 | 1 | 0 16 | 9 | 9 | 0 100 | 13 | 12 | 1 1000 | 19 | 16 | 3
Elias Delta, Elias Gamma का उन्नत रूप है जिसमें पहले बाइनरी लंबाई को Gamma से एन्कोड किया जाता है और फिर बचे हुए बिट्स जोड़े जाते हैं। यह लगभग log₂(n) + 2log₂(log₂(n)) + 1 बिट्स का उपयोग करता है, जिससे यह बड़े पूर्णांकों के लिए अधिक कुशल हो जाता है।
Gamma 2⌊log₂(n)⌋ + 1 बिट्स का उपयोग करता है जबकि Delta log₂(n) + 2log₂(log₂(n)) + 1 बिट्स का। n > 3 के लिए Delta बेहतर है और n बढ़ने पर बचत बढ़ती है। बहुत छोटे मानों (1–3) के लिए दोनों लगभग समान हैं।
जब आपके डेटा में अधिकांश मान n > 3 वाले पूर्णांक हों, तब Delta चुनें। बहुत छोटे पूर्णांकों (1–2) के लिए Gamma थोड़ा बेहतर हो सकता है। बहुत बड़े पूर्णांकों के लिए Delta से भी बेहतर Elias Omega पर विचार करें।
Delta मध्य‑मार्ग है। Gamma सबसे सरल लेकिन कम कुशल है। Delta संपीड़न को बेहतर बनाता है। Omega बहुत बड़े पूर्णांकों के लिए सर्वश्रेष्ठ है लेकिन सबसे जटिल भी। चुनाव आपके डेटा के वितरण और इम्प्लीमेंटेशन की सीमा पर निर्भर करता है।