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

बाइनोमियल ट्री लागू करने के लिए Python प्रोग्राम


जब Python में बाइनोमियल ट्री लागू करने की आवश्यकता होती है, तो ऑब्जेक्ट-ओरिएंटेड मेथड का उपयोग किया जाता है। यहां, एक क्लास परिभाषित की जाती है, और एट्रिब्यूट्स परिभाषित किए जाते हैं। क्लास के भीतर फ़ंक्शन्स परिभाषित किए जाते हैं जो कुछ ऑपरेशन्स करते हैं। क्लास का एक इंस्टेंस बनाया जाता है, और फ़ंक्शन्स का उपयोग कैलकुलेटर ऑपरेशन्स करने के लिए किया जाता है।

इसके लिए एक प्रदर्शन नीचे दिया गया है:

उदाहरण

class binomial_tree:
    def __init__(self, key):
        self.key = key
        self.children = []
        self.order = 0

    def add_at_end(self, t):
        self.children.append(t)
        self.order = self.order + 1

my_tree = []
print('Menu')
print('create ')
print('combine  ')
print('exit')
while True:
    option = input('What do you wish like to do? ').split()
    operation = option[0].strip().lower()
    if operation == 'create':
        key = int(option[1])
        b_tree = binomial_tree(key)
        my_tree.append(b_tree)
        print('Binomial tree has been created.')
    elif operation == 'combine':
        index_1 = int(option[1])
        index_2 = int(option[2])
        if my_tree[index_1].order == my_tree[index_2].order:
            my_tree[index_1].add_at_end(my_tree[index_2])
            del my_tree[index_2]
            print('Binomial trees have been combined.')
        else:
            print('Order of trees need to be the same to combine them.')
    elif operation == 'exit':
        print("Exit")
        break
    print('{:>8}{:>12}{:>8}'.format('Index', 'Root key', 'Order'))
    for index, t in enumerate(my_tree):
        print('{:8d}{:12d}{:8d}'.format(index, t.key, t.order))

आउटपुट

Menu
create 
combine  
exit
What do you wish like to do? create 7
Binomial tree has been created.
Index Root key Order
0 7 0
What do you wish like to do? create 11
Binomial tree has been created.
Index Root key Order
0 7 0
1 11 0
What do you wish like to do? create 4
Binomial tree has been created.
Index Root key Order
0 7 0
1 11 0
2 4 0
What do you wish like to do? combine 0 1
Binomial trees have been combined.
Index Root key Order
0 7 1
1 4 0
What do you wish like to do? exit
Exit

व्याख्या

  • 'binomial_tree' नामक एक क्लास परिभाषित की गई है।
  • इसमें ट्री के अंत में एलिमेंट्स जोड़ने के लिए एक मेथड है।
  • एक खाली लिस्ट बनाई जाती है।
  • विकल्पों के आधार पर, यूज़र एक विकल्प चुनता है।
  • यदि वे की बनाने का चयन करते हैं, तो क्लास का एक इंस्टेंस बनाया जाता है, और एक बाइनोमियल ट्री बनाया जाता है।
  • इंडेक्स, रूट वैल्यू और ऑर्डर भी कंप्यूट किए जाते हैं।
  • यदि इंडेक्स को संयोजित करने की आवश्यकता है, तो एक और विकल्प चुना जाता है, और जिन नोड्स को संयोजित करने की आवश्यकता है उनके इंडेक्स वैल्यूज़ भी मेंशन किए जाते हैं।
  • यह डेटा को जोड़ता है, और प्रदर्शित करता है।
  1. C++ में AVL ट्री को लागू करना C++ में AVL ट्री को लागू करना

    AVL ट्री एक सेल्फ-बैलेंसिंग बाइनरी सर्च ट्री है जहां सभी नोड्स के लिए बाएं और दाएं सबट्री की ऊंचाई का अंतर एक से अधिक नहीं हो सकता।ट्री रोटेशन एक ऑपरेशन है जो AVL ट्री पर एलिमेंट्स के क्रम में हस्तक्षेप किए बिना स्ट्रक्चर को बदलता है। यह ट्री में एक नोड को ऊपर ले जाता है और एक नोड को नीचे। इसका उपयो

  1. Python में n-ary ट्री की कॉपी बनाने का प्रोग्राम Python में n-ary ट्री की कॉपी बनाने का प्रोग्राम

    मान लीजिए, हमें एक n-ary ट्री दिया गया है जिसका रूट root है। हमें पूरे n-ary ट्री की एक कॉपी बनानी है और दोनों ट्री का प्रीऑर्डर ट्रैवर्सल करना है। कॉपी किए गए ट्री को दूसरे रूट नोड का उपयोग करके स्टोर करना है। ट्री की नोड संरचना नीचे दी गई है: Node: value: children: इसलिए, यदि इनपुट निम

  1. Python Program: दिए गए Expression का Expression Tree Construct करें Python Program: दिए गए Expression का Expression Tree Construct करें

    Expression trees वे होते हैं जिनमें leaf nodes में operate किए जाने वाले values होते हैं, और internal nodes में operator होता है जिस पर leaf node perform किया जाएगा। उदाहरण: 4 + ((7 + 9) * 2) का expression tree ऐसा होगा - Problem हल करने का दृष्टिकोण दिए गए expression के लिए Expression Tree constru