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

बाइनरी ट्री में सभी नोड्स का योग खोजने का पायथन प्रोग्राम


जब ट्री के सभी नोड्स का योग खोजना हो, तो एक क्लास बनाई जाती है जिसमें रूट नोड सेट करने, ट्री में एलिमेंट्स जोड़ने, विशिष्ट एलिमेंट खोजने और ट्री के एलिमेंट्स को जोड़कर योग खोजने आदि के लिए मेथड्स होते हैं। क्लास का एक इंस्टेंस बनाकर इन मेथड्स को एक्सेस और उपयोग किया जा सकता है।

उदाहरण

class Tree_struct:
    def __init__(self, data=None):
        self.key = data
        self.children = []
    def set_root(self, data):
        self.key = data
    def add_node(self, node):
        self.children.append(node)
    def search_node(self, key):
        if self.key == key:
            return self
        for child in self.children:
            temp = child.search_node(key)
            if temp is not None:
                return temp
        return None
    def sum_node(self):
        my_summation = self.key
        for child in self.children:
            my_summation = my_summation + child.sum_node()
        return my_summation

my_instance = None
print('मेन्यू (मान लें कोई डुप्लिकेट कीज़ नहीं)')
print('add  at root')
print('add  below ')
print('sum')
print('quit')
while True:
    my_input = input('आप कौन सा ऑपरेशन करेंगे? ').split()
    operation = my_input[0].strip().lower()
    if operation == 'add':
        data = int(my_input[1])
        new_node = Tree_struct(data)
        suboperation = my_input[2].strip().lower()
        if suboperation == 'at':
            my_instance = new_node
        elif suboperation == 'below':
            position = my_input[3].strip().lower()
            key = int(position)
            ref_node = None
            if my_instance is not None:
                ref_node = my_instance.search_node(key)
            if ref_node is None:
                print('ऐसी कोई की नहीं')
                continue
            ref_node.add_node(new_node)
    elif operation == 'sum':
        if my_instance is None:
            print('ट्री खाली है')
        else:
            my_summation = my_instance.sum_node()
            print('सभी नोड्स का योग है: {}'.format(my_summation))
    elif operation == 'quit':
        break

आउटपुट

मेन्यू (मान लें कोई डुप्लिकेट कीज़ नहीं)
add  at root
add  below 
sum
quit
आप कौन सा ऑपरेशन करेंगे? add 5 at root
आप कौन सा ऑपरेशन करेंगे? add 7 below 5
आप कौन सा ऑपरेशन करेंगे? add 0 below 7
आप कौन सा ऑपरेशन करेंगे? sum
सभी नोड्स का योग है: 12
आप कौन सा ऑपरेशन करेंगे? quit

व्याख्या

  • आवश्यक एट्रिब्यूट्स के साथ 'Tree_struct' क्लास बनाई जाती है।

  • इसमें एक 'init' फंक्शन होता है जो एक खाली सूची बनाने के लिए उपयोग किया जाता है।

  • 'set_root' मेथड परिभाषित की जाती है जो बाइनरी ट्री के रूट मान को सेट करने में मदद करती है।

  • इसमें एक 'add_node' मेथड होती है जो ट्री में एलिमेंट्स जोड़ने में मदद करती है।

  • 'search_elem' नामक एक मेथड परिभाषित की जाती है जो किसी विशिष्ट एलिमेंट को खोजने में मदद करती है।

  • 'sum_node' नामक एक मेथड परिभाषित की जाती है जो ट्री के एलिमेंट्स को जोड़कर योग खोजने में मदद करती है।

  • एक इंस्टेंस बनाया जाता है और 'None' असाइन किया जाता है।

  • उपयोगकर्ता इनपुट उस ऑपरेशन के लिए लिया जाता है जिसे करने की आवश्यकता है।

  • उपयोगकर्ता की पसंद के आधार पर ऑपरेशन किया जाता है।

  • प्रासंगिक आउटपुट कंसोल पर प्रदर्शित होता है।


  1. पायथन में बाइनरी ट्री की अधिकतम चौड़ाई खोजने का प्रोग्राम पायथन में बाइनरी ट्री की अधिकतम चौड़ाई खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी ट्री है, हमें ट्री में किसी भी स्तर की अधिकतम चौड़ाई ढूंढनी है। यहां एक स्तर की चौड़ाई उन नोड्स की संख्या है जो बाएं सबसे नोड और दाएं सबसे नोड के बीच रखे जा सकते हैं। उदाहरण के लिए, यदि इनपुट है: तो आउटपुट होगा 2। हल करने के चरण एक मैप d बनाएं, न्यूनतम और अधिकतम मान

  1. Python प्रोग्राम में ऐरे का योग खोजना Python प्रोग्राम में ऐरे का योग खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे का योग निकालने की आवश्यकता है। पूरे ऐरे को पार करने और प्रत्येक इंडेक्स पर तत्व को जोड़कर योग प्राप्त करने का ब्रूट-फोर्स दृष्टिकोण नीचे चर्चा किया गया है। उदाहरण # sum फ़ंक्शन def

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें दिए गए ऐरे का योग निकालने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का पालन कर सकते हैं यानी एक लिस्ट को ट्रैवर्स करना और प्रत्येक एलिमें