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

ट्री में सभी मानों की जाँच करने का कार्यक्रम पायथन में समान है या नहीं

मान लीजिए हमारे पास एक बाइनरी ट्री है, हमें यह जांचना होगा कि ट्री के सभी नोड्स का मान समान है या नहीं।

तो, अगर इनपुट पसंद है

ट्री में सभी मानों की जाँच करने का कार्यक्रम पायथन में समान है या नहीं

तो आउटपुट सही होगा

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • फ़ंक्शन को हल करें () परिभाषित करें। यह जड़ लेगा, और वैल

  • अगर रूट शून्य है, तो

    • सही लौटें

  • यदि वैल परिभाषित नहीं है, तो

    • वैल:=रूट का मान

  • सही लौटें जब रूट का मान वैल के समान हो और हल करें (रूट के बाएं, वैल) और हल करें (रूट का दायां, वैल) भी सत्य हैं

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

class TreeNode:
   def __init__(self, val, left=None, right=None):
      self.val = val
      self.left = left
      self.right = right
class Solution:
   def solve(self, root, val=None):
      if not root:
         return True
      if val is None:
         val = root.val
      return root.val == val and self.solve(root.left, val) and
self.solve(root.right, val)
ob = Solution()
root = TreeNode(5)
root.left = TreeNode(5)
root.right = TreeNode(5)
root.left.left = TreeNode(5)
root.left.right = TreeNode(5)
print(ob.solve(root))

इनपुट

root = TreeNode(5)
root.left = TreeNode(5)
root.right = TreeNode(5)
root.left.left = TreeNode(5)
root.left.right = TreeNode(5)

आउटपुट

True

  1. पायथन में दिया गया पेड़ सममित पेड़ है या नहीं, यह जांचने के लिए कार्यक्रम

    मान लीजिए हमारे पास एक बाइनरी ट्री है। हमें यह जांचना है कि वृक्ष सममित वृक्ष है या नहीं। एक पेड़ को सममित कहा जाएगा यदि वह समान है जब हम उसका दर्पण प्रतिबिम्ब लेते हैं। इन दो पेड़ों से, पहला सममित है, लेकिन दूसरा नहीं है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे। हम निम्नलिखित चरणों क

  1. यह जाँचने के लिए प्रोग्राम कि क्या किसी पेड़ का क्रमागत क्रम पाइथॉन में पैलिंड्रोम है या नहीं

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है जहां प्रत्येक नोड में 0-9 से एक अंक होता है, हमें यह जांचना होगा कि इसका इन-ऑर्डर ट्रैवर्सल पैलिंड्रोम है या नहीं। तो, अगर इनपुट पसंद है तब आउटपुट ट्रू होगा, क्योंकि इसका इनऑर्डर ट्रैवर्सल [2,6,10,6,2] है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  1. पायथन में बाइनरी ट्री BST है या नहीं, यह जांचने के लिए प्रोग्राम

    मान लीजिए हमारे पास बाइनरी ट्री है; हमें यह जांचना होगा कि यह बाइनरी सर्च ट्री है या नहीं। जैसा कि हम जानते हैं कि बीएसटी में निम्नलिखित गुण होते हैं - इसके बाएँ उपप्रकार के सभी नोड वर्तमान नोड मान से छोटे हैं इसके दाहिने सबट्री के सभी नोड वर्तमान नोड मान से बड़े हैं ये गुण सभी नोड्स के लिए पुनरावर