forked from greyireland/algorithm-pattern
- Notifications
You must be signed in to change notification settings - Fork 214
/
Copy pathbst_bfs.py
25 lines (19 loc) · 622 Bytes
/
bst_bfs.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
importcollections
defbst_bfs(A):
N=len(A)
interval=collections.deque([(float('-inf'), A[0]), (A[0], float('inf'))])
foriinrange(1, N):
whileinterval:
lower, upper=interval.popleft()
iflower<A[i] <upper:
interval.append((lower, A[i]))
interval.append((A[i], upper))
break
ifnotinterval:
returnFalse
returnTrue
if__name__=="__main__":
A= [10, 8, 11, 1, 9, 0, 5, 3, 6, 4, 12]
print(bst_bfs(A))
A= [10, 8, 11, 1, 9, 0, 5, 3, 6, 4, 7]
print(bst_bfs(A))