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

पायथन प्रोग्राम: ट्री में सभी नोड्स का योग ज्ञात करना


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

उदाहरण

class Tree_structure:
    def __init__(self, data=None):
        self.key = data
        self.children = []
    
    def set_root(self, data):
        self.key = data
    
    def add_values(self, node):
        self.children.append(node)
    
    def search_val(self, key):
        if self.key == key:
            return self
        for child in self.children:
            temp = child.search_val(key)
            if temp is not None:
                return temp
        return None
    
    def summation_nodes(self):
        sum_val = self.key
        for child in self.children:
            sum_val = sum_val + child.summation_nodes()
        return sum_val

tree = None
print('मेनू (डुप्लिकेट कुंजी की अनुमति नहीं)')
print('add  at root')
print('add  below ')
print('summation')
print('quit')

while True:
    my_input = input('आप क्या करना चाहेंगे? ').split()
    operation = my_input[0].strip().lower()
    
    if operation == 'add':
        data = int(my_input[1])
        newNode = Tree_structure(data)
        sub_op = my_input[2].strip().lower()
        if sub_op == 'at':
            tree = newNode
        elif sub_op == 'below':
            my_pos = my_input[3].strip().lower()
            key = int(my_pos)
            ref_node = None
            if tree is not None:
                ref_node = tree.search_val(key)
            if ref_node is None:
                print('ऐसी कोई कुंजी मौजूद नहीं है')
                continue
            ref_node.add_values(newNode)
    elif operation == 'summation':
        if tree is None:
            print('ट्री खाली है')
        else:
            summation_val = tree.summation_nodes()
            print('सभी नोड्स का योग है: {}'.format(summation_val))
    elif operation == 'quit':
        break

आउटपुट

मेनू (डुप्लिकेट कुंजी की अनुमति नहीं)
add  at root
add  below 
summation
quit
आप क्या करना चाहेंगे? add 56 at root
आप क्या करना चाहेंगे? add 45 below 56
आप क्या करना चाहेंगे? add 23 below 56
आप क्या करना चाहेंगे? summation
सभी नोड्स का योग है: 124
आप क्या करना चाहेंगे?

व्याख्या

  • 'Tree_structure' क्लास बनाई गई है।

  • यह 'key' को True सेट करता है और ट्री के बच्चों के लिए एक खाली सूची सेट करता है।

  • इसमें एक 'set_root' फ़ंक्शन है जो ट्री के लिए रूट मान सेट करने में मदद करता है।

  • 'add_vals' नामक एक विधि परिभाषित की गई है, जो ट्री में एक तत्व जोड़ने में मदद करती है।

  • 'search_val' नामक एक अन्य विधि परिभाषित की गई है, जो ट्री में एक तत्व खोजने में मदद करती है।

  • 'summation_nodes' नामक एक अन्य विधि परिभाषित की गई है, जो ट्री के सभी तत्वों/नोड्स का योग प्राप्त करने में मदद करती है।

  • यह एक पुनरावर्ती फ़ंक्शन है।

  • चार विकल्प दिए गए हैं, जैसे 'add at root', 'add below', 'Summation' और 'quit'।

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

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


  1. पायथन में बाइनरी ट्री के प्रत्येक विकर्ण पथ के तत्वों का योग खोजने का प्रोग्राम पायथन में बाइनरी ट्री के प्रत्येक विकर्ण पथ के तत्वों का योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी ट्री है, हमें ट्री में प्रत्येक विकर्ण का योग ढूंढना है जो ऊपर से नीचे-दाएं तक जाता है। उदाहरण के लिए, यदि इनपुट जैसा है: तो आउटपुट [27, 18, 3] होगा क्योंकि विकर्ण [12,15], [8,10], [3] हैं। इसलिए योग मान [27, 18, 3] हैं। इसे हल करने के लिए हम निम्न चरणों का पालन करेंग

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

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

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

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