<div> <p>हफ़मैन फ्रैक्टल ट्री का पुनरावर्ती निर्माण</p> </div>
Python
Hard
recursion
कार्य «<div> <p>हफ़मैन फ्रैक्टल ट्री का पुनरावर्ती निर्माण</p> </div>»
दी गई स्ट्रिंग लैटिन वर्णमाला के प्रतीकों (लोअरकेस अक्षर) से बनी है। हफ़मैन का फ्रैक्टल ट्री बनाना आवश्यक है: प्रत्येक प्रतीक के लिए उसकी आवृत्ति की गणना करें, फिर पुनरावर्ती रूप से एक ट्री बनाएं, जहां प्रत्येक नोड में बाएं और दाएं उपट्री की आवृत्तियों का योग हो, और पत्तियों में प्रतीक हों। पुनरावृत्ति के प्रत्येक चरण पर, प्रतीकों की सूची को दो भागों में विभाजित करना होगा ताकि बाएं भाग में आवृत्तियों का योग दाएं भाग में आवृत्तियों के योग के जितना संभव हो उतना करीब हो (लालची एल्गोरिदम)। ट्री को प्रीफिक्स नोटेशन में दर्शाने वाली स्ट्रिंग लौटाएं: नोड के लिए — 'F{योग}', पत्ती के लिए — 'L{प्रतीक}'। पुनरावृत्ति अनिवार्य है।
इनपुट प्रारूप
एक पंक्ति, जो छोटे लैटिन अक्षरों से बनी है (लंबाई 1 से 100 तक)।
आउटपुट प्रारूप
<div>
<p>एक स्ट्रिंग — बिना रिक्त स्थान के पेड़ की प्रीफिक्स नोटेशन है।</p>
</div>
उदाहरण
उदाहरण 1
इनपुट
1
42
आउटपुट
L1
उदाहरण 2
इनपुट
nil nil nil
आउटपुट
F11F6LnLiF5LlL
उदाहरण 3
इनपुट
abc
आउटपुट
F3LaF2LbLc
उदाहरण 4
इनपुट
0 1 2
आउटपुट
F5F3L0L F2L1L2
main.py