Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

배열이 Python에서 Inorder of Binary Search 트리를 나타내는지 확인하십시오.

<시간/>

num이라는 숫자 배열이 있다고 가정합니다. 배열이 이진 탐색 트리의 요소를 inorder 순회 순서로 보유하고 있는지 여부를 확인해야 합니다.

따라서 입력이 nums =[5, 8, 15, 18, 20, 26, 39]와 같으면 출력은

의 중위 순회이므로 True가 됩니다.

배열이 Python에서 Inorder of Binary Search 트리를 나타내는지 확인하십시오.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 크기 :=숫자 크기
  • 크기가 0 또는 1이면
    • 참 반환
  • 범위 1에서 크기 - 1까지의 i에 대해 다음을 수행합니다.
    • 숫자[i - 1]> 숫자[i]이면
      • 거짓을 반환
  • 참 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

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))

입력

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

출력

True