কম্পিউটার

প্রদত্ত গাছটি পাইথনে সিমেট্রিক ট্রি কি না তা পরীক্ষা করার জন্য প্রোগ্রাম


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

প্রদত্ত গাছটি পাইথনে সিমেট্রিক ট্রি কি না তা পরীক্ষা করার জন্য প্রোগ্রাম

প্রদত্ত গাছটি পাইথনে সিমেট্রিক ট্রি কি না তা পরীক্ষা করার জন্য প্রোগ্রাম

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

  • আমরা নিম্নলিখিত পদক্ষেপগুলিকে পুনরাবৃত্তিমূলকভাবে কল করব। ফাংশনটি সমাধান করা হবে(রুট, রুট)

  • যদি নোড 1 এবং নোড 2 খালি থাকে, তাহলে সত্য ফেরত দিন

  • যদি node1 বা node2 খালি হয়, তাহলে মিথ্যা ফেরত দিন

  • node1.val =node2.val এবং solve(node1.left, node2.right) এবং solve(node1.right, node2.left)

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

উদাহরণ

class TreeNode:
   def __init__(self, data, left = None, right = None):
      self.data = data
      self.left = left
      self.right = right
class Solution(object):
   def isSymmetric(self, root):
      return self.solve(root,root)
   def solve(self,node1,node2):
      if not node1 and not node2:
         return True
      if not node1 or not node2:
         return False
      return node1.data == node2.data and
self.solve(node1.left,node2.right) and
self.solve(node1.right,node2.left)
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(2)
root.left.left = TreeNode(3)
root.left.right = TreeNode(4)
root.right.left = TreeNode(4)
root.right.right = TreeNode(3)
ob1 = Solution()
print(ob1.isSymmetric(root))

ইনপুট

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

আউটপুট

True

  1. প্রদত্ত গ্রাফটি পাইথনে দ্বিপক্ষীয় কি না তা পরীক্ষা করার জন্য প্রোগ্রাম

  2. একটি মান বিএসটি-তে আছে কিনা পাইথনে নেই তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. একটি প্রদত্ত বাইনারি ট্রি পাইথনে হিপ কিনা তা পরীক্ষা করুন

  4. একটি প্রদত্ত স্ট্রিং কীওয়ার্ড কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম