কম্পিউটার টিউটোরিয়াল

পাইথনে BST থেকে রেঞ্জ বাইরে থাকা নোডগুলো মুছে ফেলার প্রোগ্রাম


মনে করুন একটি BST এবং low, high দুটি মান আছে। [low, high] রেঞ্জের বাইরে থাকা সব নোড ডিলিট করতে হবে।

ইনপুট ট্রি, low=7, high=10 হলে আউটপুট ট্রি (৭,৮,৯,১০) থাকবে। ছবি দেওয়া আছে।

সমাধানের ধাপসমূহ

  • solve() ফাংশন সংজ্ঞায়িত করুন যা root, low, high নেয়
  • যদি root null হয়, ফেরত যান
  • যদি low > root.data, solve(root.right, low, high) ফেরত দিন
  • যদি high < root.data, solve(root.left, low, high) ফেরত দিন
  • root.right = solve(root.right, low, high)
  • root.left = solve(root.left, low, high)
  • root ফেরত দিন

উদাহরণ

class TreeNode:
    def __init__(self, data, left = None, right = None):
        self.data = data
        self.left = left
        self.right = right

def print_tree(root):
    if root is not None:
        print_tree(root.left)
        print(root.data, end = ', ')
        print_tree(root.right)

class Solution:
    def solve(self, root, low, high):
        if not root:
            return
        if low > root.data:
            return self.solve(root.right,low,high)
        if high < root.data:
            return self.solve(root.left,low,high)
        root.right = self.solve(root.right,low,high)
        root.left = self.solve(root.left,low,high)
        return root

ob = Solution()
root = TreeNode(5)
root.left = TreeNode(1)
root.right = TreeNode(9)
root.right.left = TreeNode(7)
root.right.right = TreeNode(10)
root.right.left.left = TreeNode(6)
root.right.left.right = TreeNode(8)
low = 7; high = 10
ret = ob.solve(root, low, high)
print_tree(ret)

ইনপুট

root = TreeNode(5) root.left = TreeNode(1) root.right = TreeNode(9) root.right.left = TreeNode(7) root.right.right = TreeNode(10) root.right.left.left = TreeNode(6) root.right.left.right = TreeNode(8) low = 7 high = 10

আউটপুট

7, 8, 9, 10,
  1. পাইথনে BST-এ নির্দিষ্ট রেঞ্জে থাকা নোডের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে বাইনারি ট্রি BST কিনা যাচাই করার প্রোগ্রাম

  3. পাইথনে BST থেকে রেঞ্জ বাইরে থাকা নোডগুলো মুছে ফেলার প্রোগ্রাম

  4. পাইথনে BST-এ একটি মান আছে কিনা যাচাই করার প্রোগ্রাম