Definition of Huffman coding Algorithm in Hindi:- हफ़मैन कोडिंग जानकारियों को खोए बिना या नुकसान किये बिना data समूह को संक्षिप्त ( compress ) करने का एक प्रभावी तरीका है।
हफ़मैन कोडिंग कंप्यूटर को प्राप्त होने वाले Input data या message में दिखाई देने वाली characters ( शब्दों या प्रतीकों ) का विश्लेषण करके एक कुशल, स्पष्ट code प्रदान करता है। बार-बार दिखाई देने वाले characters को छोटे शृंखला के रूप में encode किया जाता है, जबकि message में कम दिखाई देने वाली characters को बड़े शृंखला के रूप में encode किया जाता है।
Huffman encoding algorithm में किसी मैसेज को compress करते समय अस्पष्टता से बचने के लिए यह सुनिश्चित किया जाता है की किसी भी एक character को दिया गया कोड किसी अन्य character को सौंपे गए कोड से सामान नहीं है।
History of Huffman coding algorithm in Hindi :- इसे सबसे पहले MIT ( Massachusetts Institute of Technology ) के छात्र David A. Huffman ( डेविड ए हफ़मैन ) के द्वारा 1952 में विकसित किया गया था।
Steps in Huffman Coding :- हफमैन कोडिंग में दो प्रमुख चरण हैं-
- सबसे पहले चरण में कंप्यूटर को Input में प्राप्त Data या Message में मौजूद characters के उपयोग से Huffman Tree ( हफमैन ट्री ) का निर्माण किया जाता है।
- दूसरे चरण में Huffman Tree ( हफमैन ट्री ) को compress करके characters को Code आवंटित किया जाता है ।
Advantages and Disadvantages of Huffman coding in Hindi
Advantages of Huffman coding in Hindi :- हफ़मैन कोडिंग के लाभ निम्नलिखित रूप से है
- इस algorithm के उपयोग से मेमोरी में बहुत सारा storage space की बचत होती है।
- ये एल्गोरिथ्म एन्कोडिंग के लिए छोटे-छोटे बाइनरी कोड उत्पन्न करता है।
Disadvantages of Huffman coding in Hindi :- हफ़मैन कोडिंग के नुक़सान निम्नलिखित रूप से है
- यह केवल Text आधारित input को कुशलता से एन्कोड करने में सक्षम है। डिजिटल इमेज या वीडियो आदि को एन्कोड करने के लिए इन्हें अच्छा नहीं मन जाता।
- कई बार हफ़मैन एन्कोड के द्वारा encode किये गए इनफार्मेशन को डिकोडिंग सॉफ़्टवेयर ठीक से समझ नहीं पाती और गलत डिकोडिंग कर देती है क्योंकि इसके द्वारा उपयोग की जाने वाली बाइनरी कोड की लंबाई अलग है।
Process of building Huffman Tree :-
- मैसेज में मौजूद सभी character के उपयोग से एक-एक करके leaf node बनान है, मतलब की पुरे मैसेज में जो character जितने बार आया है उस संख्या के आधार पर एक कतार बनान है।
- पहले चरण में बनाये गए कतार को छोटे से बड़े के क्रम में सजाना है, मतलब की जो संख्या सबसे छोटा है उसे कतार में सबसे पहले रखना है और बाकि के संख्या को भी इसी क्रम में व्यवस्थित करना है ।
- दूसरे चरण में बनाये गए कतार में से दो सबसे छोटे Node को निकालकर उन्हें जोड़ना है और एक नया node बनाना है।
- 2 Nodes को जोड़ने के बाद कतार को फिर से छोटे से बड़े के क्रम में सजाना है।
- तीसरे और चौथे चरण को तब तक दोहराना है, जब तक कि पूरे कतार में एक ही अंतिम Node न बच जाए इस अंतिम नोड को root node कहेंगे।
Process of compressing/ Traverseing Huffman Tree :-
- सबसे पहले एक सहायक सरणी (auxiliary array) बनाएँ।
- Huffman Tree रूट नोड (सबसे पहला शुरुआती node) से शुरू कर के पेड़ को Traverse करना है।
- Root Node के बाएं के Node को प्रदर्शित करने के लिए 0 का उपयोग करें और दाएं किनारों के प्रदर्शित करने के लिए 1 का उपयोग किया जाता है।
- जितने भी leaf node मतलब मैसेज में प्राप्त हुआ character है, उन तक पहुंचने में जितने Node की यात्रा की गई है उन्हें जोड़कर लिखना है।
Huffman Encoding and Greedy Algorithm in Hindi :- Huffman Coding / Encoding भी greedy algorithm ( ग्रीडी एल्गोरिथ्म ) के सिद्धांत का पालन करता है, क्योंकि प्रत्येक Steps में दो सबसे छोटे नोड्स चुने जाते हैं, और किसी चुनाव के आधार पर अंतिम निर्णय प्राप्त होता है।
Summery of Huffman Encoding in Hindi:- इस लेख में हमने हफ़मैन कोडिंग को सरल हिंदी भाषा में समझाने का प्रयास किया है, उम्मीद है कि Huffman coding in Hindi पर लिखा गया यह लेख आपको पसंद आया होगा। अगर आप हफ़मैन कोडिंग के इस लेख से संबंधित कोई सुझाव हमें देना चाहते हैं तो नीचे कमेंट बॉक्स में लिखकर जरूर बताएं जिससे कि हम अपने लेख में आवश्यक परिवर्तन करके इसे और अधिक उपयोगी बना सके।
Leave a Reply