Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem một mảng có đại diện cho Inorder của cây Tìm kiếm nhị phân hay không trong Python

Giả sử chúng ta có một mảng số được gọi là nums. Chúng ta phải kiểm tra xem liệu mảng có chứa các phần tử của cây tìm kiếm nhị phân trong trình tự của trình tự duyệt không theo thứ tự của nó hay không.

Vì vậy, nếu đầu vào giống như nums =[5, 8, 15, 18, 20, 26, 39], thì đầu ra sẽ là True vì đây là đường truyền nhỏ hơn của

Kiểm tra xem một mảng có đại diện cho Inorder của cây Tìm kiếm nhị phân hay không trong Python

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • size:=kích thước của nums
  • nếu kích thước là 0 hoặc 1, thì
    • trả về True
  • đối với tôi trong phạm vi từ 1 đến kích thước - 1, thực hiện
    • nếu nums [i - 1]> nums [i], thì
      • trả về Sai
  • trả về True

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

def solve(nums):
   size = len(nums)
   if size == 0 or size == 1:
      return True
   for i in range(1, size):
      if nums[i - 1] > nums[i]:
         return False
   return True
nums = [5, 8, 15, 18, 20, 26, 39] 
print(solve(nums))

Đầu vào

[5, 8, 15, 18, 20, 26, 39]

Đầu ra

True