फिलहाल, कम ही लोग इस बारे में सोचते हैंफ़ाइल संपीड़न कैसे काम करता है अतीत की तुलना में, व्यक्तिगत कंप्यूटर का उपयोग करना बहुत आसान हो गया है। और फ़ाइल सिस्टम के साथ काम करने वाले लगभग हर व्यक्ति अभिलेखागार का उपयोग करता है। लेकिन कुछ लोग सोचते हैं कि वे कैसे काम करते हैं और किस सिद्धांत से फाइल संपीड़न होता है। हफ़मैन कोड इस प्रक्रिया का पहला संस्करण बन गया, और वे अभी भी विभिन्न लोकप्रिय अभिलेखों में उपयोग किए जाते हैं। कई उपयोगकर्ता यह भी नहीं सोचते हैं कि फ़ाइल संपीड़न कितना सरल है और यह किस योजना से काम करता है। इस लेख में, हम इस बात पर विचार करेंगे कि कैसे संपीड़न होता है, क्या बारीकियों को गति देने और कोडिंग प्रक्रिया को सरल बनाने में मदद मिलती है, और हम यह भी समझेंगे कि एक कोडिंग पेड़ बनाने का सिद्धांत क्या है।
एल्गोरिथम इतिहास
प्रभावी संचालन के लिए बहुत पहले एल्गोरिथ्मइलेक्ट्रॉनिक जानकारी को कूटबद्ध करना हफमैन द्वारा बीसवीं शताब्दी के मध्य में 1952 में प्रस्तावित कोड था। यह वह है जो इस समय जानकारी को संपीड़ित करने के लिए डिज़ाइन किए गए अधिकांश कार्यक्रमों का मुख्य मूल तत्व है। वर्तमान में, इस कोड का उपयोग करने वाले सबसे लोकप्रिय स्रोतों में से एक ज़िप, एआरजे, आरएआर और कई अन्य हैं।
कुशल कोडिंग का सिद्धांत
हफ़मैन एल्गोरिथ्म एक सर्किट पर आधारित है,आपको बाइनरी सिस्टम कोड के साथ सबसे अधिक संभावित, सबसे आम पात्रों को बदलने की अनुमति देता है। और जो कम आम हैं, उन्हें लंबे कोड से बदल दिया जाता है। सिस्टम को सभी न्यूनतम मानों का उपयोग करने के बाद ही लंबे हफ़मैन कोड में संक्रमण होता है। यह तकनीक आपको मूल संदेश के प्रत्येक वर्ण के लिए कोड की लंबाई को न्यूनतम करने की अनुमति देती है।
हफमैन कोड उदाहरण
एल्गोरिथ्म को समझाने के लिए, ले लोकोड ट्री निर्माण का ग्राफिक संस्करण। इस पद्धति को प्रभावी बनाने के लिए, यह इस पद्धति की अवधारणा के लिए आवश्यक कुछ मूल्यों की परिभाषा को स्पष्ट करने के लायक है। नोड से नोड तक निर्देशित किए जाने वाले कई आर्क्स और नोड्स के सेट को ग्राफ कहा जाता है। वृक्ष अपने आप में विशिष्ट गुणों के समूह के साथ एक ग्राफ है:
- प्रत्येक नोड में आर्क्स में से एक से अधिक नहीं शामिल हो सकता है;
- नोड्स में से एक पेड़ की जड़ होना चाहिए, अर्थात, इसमें आर्क्स शामिल नहीं होना चाहिए;
- यदि आप जड़ से आर्क्स के साथ बढ़ना शुरू करते हैं, तो इस प्रक्रिया से आपको पूरी तरह से किसी भी नोड को प्राप्त करने की अनुमति मिल सकती है।
हफमैन ट्री एल्गोरिदम
हफ़मैन कोड अक्षरों से बना हैइनपुट वर्णमाला उन नोड्स की एक सूची जो भविष्य के कोड ट्री में निशुल्क हैं। इस सूची में प्रत्येक नोड का वजन उस नोड के अनुरूप एक संदेश पत्र की संभावना के समान होना चाहिए। इसके अलावा, भविष्य के पेड़ के कुछ मुफ्त नोड्स में से, जो सबसे कम वजन का होता है, उसे चुना जाता है। इसके अलावा, यदि न्यूनतम संकेतक कई नोड्स में देखे जाते हैं, तो आप स्वतंत्र रूप से किसी भी जोड़े को चुन सकते हैं।
वृद्धि क्षमता बढ़ाना
संपीड़न दक्षता बढ़ाने के लिए, आपको करने की आवश्यकता हैपेड़ से जुड़ी किसी विशेष फ़ाइल में दिखाई देने वाले पत्रों की संभावना और उन्हें बड़ी संख्या में पाठ दस्तावेज़ों में बिखरे रहने की अनुमति नहीं देने के संबंध में सभी डेटा का उपयोग करने के लिए कोड ट्री बनाने का समय है। यदि आप पहली बार इस फ़ाइल के माध्यम से जाते हैं, तो आप तुरंत आंकड़ों की गणना कर सकते हैं कि ऑब्जेक्ट से कितनी बार संपीड़ित होने के पत्र मिलते हैं।
संपीड़न प्रक्रिया को गति दें
एल्गोरिथ्म को गति देने के लिए, अक्षरों की परिभाषाकिसी पत्र की उपस्थिति की संभावना के संकेतक द्वारा नहीं, बल्कि इसकी घटना की आवृत्ति द्वारा संचालित करना आवश्यक है। इसके लिए धन्यवाद, एल्गोरिथ्म सरल हो जाता है, और इसके साथ काम में काफी तेजी आती है। यह फ्लोटिंग पॉइंट और डिवीजन ऑपरेशंस से भी बचता है।
निष्कर्ष
Коды Хаффмана - простой и давно созданный एक एल्गोरिथ्म जो अभी भी कई प्रसिद्ध कार्यक्रमों और कंपनियों द्वारा उपयोग किया जाता है। इसकी सादगी और समझदारी किसी भी वॉल्यूम के फ़ाइल संपीड़न के प्रभावी परिणाम प्राप्त करने और भंडारण डिस्क पर उनके कब्जे वाले स्थान को काफी कम करने की अनुमति देती है। दूसरे शब्दों में, हफ़मैन एल्गोरिथ्म एक लंबी-अध्ययन और विकसित योजना है, जिसकी प्रासंगिकता आज तक कम नहीं हुई है।