आभासी पेड़ में, कुछ किनारों को ठोस माना जाता है और कुछ को धराशायी माना जाता है। सामान्य खेल केवल ठोस वृक्षों में ही किया जाता है। वर्चुअल ट्री में नोड y पर splay करने के लिए, निम्न विधि लागू की जाती है।
एल्गोरिथ्म पेड़ को तीन बार देखता है, प्रत्येक पास में एक बार, और उसे बदल देता है। पहले पास में, केवल ठोस वृक्षों में छिटकने से, नोड y से शुरू होकर, y से समग्र वृक्ष की जड़ तक का मार्ग धराशायी हो जाता है। इस पथ को जोड़ कर ठोस बनाया जाता है। नोड y पर एक अंतिम स्प्ले अब y को पेड़ की जड़ बना देगा। कम अनौपचारिक रूप से, एल्गोरिथम को इस प्रकार समझाया गया है
स्प्ले के लिए एल्गोरिथम(y)
पास 1 आभासी पेड़ पर चलो, लेकिन खेल केवल ठोस उप-पेड़ के भीतर ही किया जाता है। इस दर्रे के अंत में, y से जड़ तक का रास्ता धराशायी हो जाता है।
2 पास करें नोड y से ऊपर की ओर चलें, y के प्रत्येक उचित पूर्वज पर स्प्लिसिंग करें। इस चरण के अंत में y से जड़ तक का रास्ता ठोस हो जाता है। इसके अलावा, मूल पेड़ में नोड y और उसके सभी बच्चे (1 पास करने से पहले वाले) अब बाएं बच्चे बन जाते हैं।
3 पास करें सामान्य तरीके से खेलते हुए, नोड y से रूट तक ऊपर जाएं।
यह हमें हमारे संभाव्यता अनुमानों को बेहतर बनाने के लिए पूर्व ज्ञान का उपयोग करने की अनुमति देता है। पत्तियों के दिए गए सेट के लिए। तो लक्ष्य न्यूनतम बाहरी पथ भार के साथ एक पेड़ का निर्माण करना है।
एक उदाहरण नीचे दिया गया है
अक्षर आवृत्ति तालिका
पत्र | z | k | मी | सी | यू | घ | l | ई |
आवृत्ति | 2 | 7 | 24 | 32 | 37 | 42 | 42 | 120 |
हफ़मैन कोड
पत्र | <वें>आवृत्तिवें> <वें>कोडवें>बिट्स | ||
---|---|---|---|
ई | 120 | 0 | 1 |
घ | 42 | 101 | 3 |
l | 42 | 110 | 3 |
यू | 37 | 37100 | 3 |
सी | 32 | 1110 | 4 |
मी | 24 | 11111 | 5 |
k | 7 | 111101 | 6 |
z | 2 | 111100 | 6 |
हफ़मैन ट्री (उपरोक्त उदाहरण के लिए) नीचे दिया गया है