কম্পিউটার

পাইথনে একটি গাছের সমস্ত উপাদানের যোগফল খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের একটি বাইনারি ট্রি আছে যেখানে কিছু মান রয়েছে, আমাদের গাছের সমস্ত মানের সমষ্টি খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুট মত হয়

পাইথনে একটি গাছের সমস্ত উপাদানের যোগফল খুঁজে বের করার প্রোগ্রাম

তাহলে আউটপুট হবে 14

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • একটি ফাংশন recurse() সংজ্ঞায়িত করুন। এটি নোড গ্রহণ করবে

  • val :=নোডের মান

  • যদি নোডের বাম অংশ শূন্য না হয়, তাহলে

    • val :=val + recurse(নোডের বামে)

  • যদি নোডের ডানদিকে না হয়-শূন্য, তাহলে

    • val :=val + recurse (নোডের ডানদিকে)

  • রিটার্ন ভ্যাল

  • মূল পদ্ধতি থেকে, নিম্নলিখিতগুলি করুন -

  • যদি মূল না হয় non−zero, তাহলে

    • রিটার্ন 0

  • রিটার্ন রিকারস(রুট)

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class TreeNode:
   def __init__(self, data, left = None, right = None):
      self.val = data
      self.left = left
      self.right = right
class Solution:
   def recurse(self, node):
      val = node.val
      if node.left:
         val += self.recurse(node.left)
      if node.right:
         val += self.recurse(node.right)
      return val
   def solve(self, root):
      if not root:
         return 0
      return self.recurse(root)
ob = Solution()
root = TreeNode(2)
root.right = TreeNode(4)
root.right.left = TreeNode(3)
root.right.right = TreeNode(5)
print(ob.solve(root))

ইনপুট

root = TreeNode(2)
root.right = TreeNode(4)
root.right.left = TreeNode(3)
root.right.right = TreeNode(5)

আউটপুট

14

  1. পাইথনে একটি বাইনারি ট্রিতে তির্যক পথের প্রতিটি উপাদানের যোগফল খুঁজে বের করার জন্য প্রোগ্রাম

  2. পাইথন প্রোগ্রামে অ্যারের সমষ্টি খুঁজুন

  3. পাইথন প্রোগ্রাম একটি তালিকার ক্রমবর্ধমান যোগফল খুঁজে বের করতে

  4. পাইথন প্রোগ্রাম তালিকায় উপাদানের যোগফল খুঁজে বের করতে