Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

डेटा स्ट्रक्चर में t-ary ट्रीज़ के लिए हफमैन एल्गोरिदम

एक सरल एल्गोरिदम (A Simple Algorithm)

  • n प्रारंभिक हफमैन ट्रीज़ का एक संग्रह तैयार किया जाता है, जिनमें से प्रत्येक एक सिंगल लीफ नोड (Single Leaf Node) है। n ट्रीज़ को वजन (आवृत्ति) द्वारा व्यवस्थित प्रायोरिटी क्यू (Priority Queue) पर रखें।
  • पहले दो ट्रीज़ को हटाएं (सबसे छोटे वजन वाले)। इन दो ट्रीज़ को मिलाकर एक नई ट्री बनाएं जिसका रूट उन दो ट्रीज़ को बच्चों के रूप में जोड़ता है, और जिसका वजन दोनों बच्चों ट्रीज़ के वजन का योग होता है।
  • इस नई ट्री को प्रायोरिटी क्यू में रखें।
  • चरण 2-3 को तब तक दोहराएं जब तक कि सभी आंशिक हफमैन ट्रीज़ एक में जुड़ न जाएं।

यह एक लालची एल्गोरिदम (Greedy Algorithm) है: प्रत्येक पुनरावृत्ति पर, एल्गोरिदम सबसे छोटे वजन वाले दो सबट्रीज़ को मर्ज करने का "लालची" निर्णय लेता है। क्या एल्गोरिदम वांछित परिणाम दे सकता है?

  • लेम्मा (Lemma): मान लीजिए x और y दो सबसे कम आवृत्ति वाले वर्ण हैं। एक इष्टतम कोड ट्री मौजूद है जिसमें x और y भाई (Siblings) हैं जिनकी गहराई ट्री में किसी अन्य लीफ नोड की तुलना में न्यूनतम है।
  • थ्योरम (Theorem): हफमैन कोड को इष्टतम प्रीफिक्स-फ्री बाइनरी कोड (Optimal Prefix-free Binary Codes) माना जाता है (लालची एल्गोरिदम दिए गए अक्षरों के सेट के लिए न्यूनतम बाहरी पथ वजन के साथ हफमैन ट्री का निर्माण करता है)।
  1. डेटा स्ट्रक्चर में BSP ट्रीज़ डेटा स्ट्रक्चर में BSP ट्रीज़

    कंप्यूटर साइंस में, बाइनरी स्पेस पार्टीशनिंग (BSP) नामक एक विधि को हाइपरप्लेन्स (Hyperplanes) को पार्टीशन के रूप में लागू करके एक स्पेस को दो कन्वेक्स सेट्स (Convex Sets) में पुनरावर्ती रूप से उप-विभाजित (Recursively Subdividing) करने के लिए लागू किया जाता है। उप-विभाजन की यह प्रक्रिया क्षेत्र में व

  1. डेटा स्ट्रक्चर में रेंज ट्रीज़ डेटा स्ट्रक्चर में रेंज ट्रीज़

    रेंज ट्री (Range Tree) को बिंदुओं की सूची रखने के लिए एक क्रमबद्ध ट्री डेटा स्ट्रक्चर (Ordered Tree Data Structure) के रूप में परिभाषित किया जाता है। यह दिए गए रेंज के भीतर सभी बिंदुओं को कुशलतापूर्वक पुनः प्राप्त करने की अनुमति देता है, और आमतौर पर दो या अधिक आयामों में लागू किया जाता है। यह kd-ट्र

  1. डेटा स्ट्रक्चर में ऊंचाई-सीमित हफमैन ट्रीज़ (Height Limited Huffman Trees) डेटा स्ट्रक्चर में ऊंचाई-सीमित हफमैन ट्रीज़ (Height Limited Huffman Trees)

    ऊंचाई-सीमित या गहराई-सीमित हफमैन ट्री का आरेख नीचे दिया गया है ट्री गहराई सीमा (Tree Depth Limitation) एक गैर-तुच्छ मुद्दा (Non-trivial Issue) है जिससे अधिकांश वास्तविक-विश्व हफमैन कार्यान्वयन (Real-world Huffman Implementations) को निपटना होगा। हफमैन निर्माण ऊंचाई या गहराई को सीमित नहीं करता। यद