वृक्ष के पूर्ण होने के कारण बड़े वृक्षों में पूर्वनिर्मित मुक्त परिणाम के लिए एन्कोडिंग की आवश्यकता होती है । क्या कोई थ्रेशोल्ड है जहाँ डेटा की एन्कोडिंग की तुलना में डेटा की निश्चित-लंबाई गैर-एन्कोडेड संग्रहण अधिक कुशल होगा?
वृक्ष के पूर्ण होने के कारण बड़े वृक्षों में पूर्वनिर्मित मुक्त परिणाम के लिए एन्कोडिंग की आवश्यकता होती है । क्या कोई थ्रेशोल्ड है जहाँ डेटा की एन्कोडिंग की तुलना में डेटा की निश्चित-लंबाई गैर-एन्कोडेड संग्रहण अधिक कुशल होगा?
जवाबों:
H(A)
इस समस्या के लिए एन्ट्रापी है 1.998
। इस समस्या के लिए हफ़मैन कोडिंग और निश्चित लंबाई कोडिंग दोनों में avg कोडवर्ड की लंबाई है 2
। और FYI करें आपको हफ़मैन एनकोडिंग का उपयोग करते हुए कोडिंग गलत है। हफ़मैन एनकोडिंग भी इस समस्या के लिए निर्धारित लंबाई के समान कोड का उत्पादन करता है। यह लालची दृष्टिकोण का उपयोग करता है। तो a
एक कोड के रूप में नहीं मिलता है, 0
लेकिन इसके बजाय यह हो जाता है 00
। हफ़मैन कोडिंग का उपयोग करके आप जिस पेड़ पर उत्पन्न होते हैं, उस पर दौड़ना। आपको जो पेड़ मिलना चाहिए वह है:
हफ़मैन कोडिंग जनसंख्या वितरण को दो प्रायिकता की शक्तियों के साथ अनुमानित करता है। यदि सही वितरण में दो प्रायिकता की शक्तियाँ समाहित हैं (और इनपुट प्रतीक पूरी तरह से असंबंधित हैं), हफ़मैन कोडिंग इष्टतम है। यदि नहीं, तो आप श्रेणी एन्कोडिंग के साथ बेहतर कर सकते हैं। यह हालांकि सभी एन्कोडिंग के बीच इष्टतम है जो इनपुट में विशिष्ट प्रतीकों को बिट्स के विशिष्ट सेट प्रदान करता है।
हाँ, यह हमेशा इष्टतम है।
नहीं, कोई थ्रेसहोल्ड नहीं है जहां यह तय लंबाई के गैर-एन्कोडेड डेटा का उपयोग करने के लिए कम जगह का उपयोग करेगा।
मुझे वेब पर कई प्रमाण मिले, लेकिन विकिपीडिया लेख हफ़मैन कोडिंग में पर्याप्त चर्चा है ।
यह अन्य तकनीकों को भी शामिल करता है जो उच्च संपीड़न (अंतरिक्ष के बाहर काम करना जिसके लिए हफ़मैन कोड इष्टतम है)।