কম্পিউটার

দুটি গাছ পরীক্ষা করার প্রোগ্রামটি পাইথনে তাদের গঠন এবং মানগুলির উপর ভিত্তি করে ঠিক একই রকম


ধরুন আমাদের দুটি বাইনারি গাছ আছে, আমাদের পরীক্ষা করতে হবে যে তারা তাদের গঠন এবং মান অনুসারে ঠিক একই রকম কিনা। আমরা তাদের যমজ গাছ বলতে পারি।

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

দুটি গাছ পরীক্ষা করার প্রোগ্রামটি পাইথনে তাদের গঠন এবং মানগুলির উপর ভিত্তি করে ঠিক একই রকম

তাহলে প্রথম জোড়ার জন্য আউটপুট হবে True, দ্বিতীয় জুটির জন্য মিথ্যা এবং তৃতীয় জুটির জন্য যেমন দ্বিতীয় ও তৃতীয় আইটেম আলাদা এবং গঠন যথাক্রমে আলাদা।

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

  • একটি পদ্ধতি সংজ্ঞায়িত করুন সমাধান(), এটি দুটি রুট গ্রহণ করবে

  • যদি root0 নাল হয় এবং root1 নাল হয়, তাহলে

    • রিটার্ন ট্রু

  • যদি root0 নাল হয় বা root1 নাল হয়, তাহলে

    • রিটার্ন ফলস

  • যদি root0-এর মান root1-এর মানের সমান না হয়, তাহলে

    • রিটার্ন ফলস

  • সমাধান (root0 এর বাম, root1 এর বামে) এবং সমাধান (root0 এর ডান, root1 এর ডান) সত্য হলে সত্য ফেরত দিন, অন্যথায় মিথ্যা।

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

উদাহরণ

class TreeNode:
   def __init__(self, val, left=None, right=None):
      self.val = val
      self.left = left
      self.right = right
class Solution:
   def solve(self, root0, root1):
      if not root0 and not root1:
         return True
      if not root0 or not root1:
         return False
      if root0.val != root1.val:
         return False
      return self.solve(root0.left, root1.left) and
self.solve(root0.right, root1.right)
ob = Solution()
root1 = TreeNode(10)
root1.left = TreeNode(5)
root1.right = TreeNode(15)
root1.left.left = TreeNode(3)
root1.left.right = TreeNode(8)
root2 = TreeNode(10)
root2.left = TreeNode(5)
root2.right = TreeNode(15)
root2.left.left = TreeNode(3)
root2.left.right = TreeNode(8)
print(ob.solve(root1, root2))

ইনপুট

root1 = TreeNode(10) root1.left = TreeNode(5) root1.right =
TreeNode(15) root1.left.left = TreeNode(3) root1.left.right =
TreeNode(8) root2 = TreeNode(10) root2.left = TreeNode(5)
root2.right = TreeNode(15) root2.left.left = TreeNode(3)
root2.left.right = TreeNode(8)

আউটপুট

True

  1. পাইথনে দুটি বাইনারি গাছের পাতার ট্র্যাভার্সাল একই কিনা তা পরীক্ষা করুন

  2. দুটি গাছের সমস্ত স্তর পাইথনে অ্যানাগ্রাম কিনা তা পরীক্ষা করুন

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

  4. গাছের সমস্ত মান পরীক্ষা করার প্রোগ্রাম পাইথনে একই বা না