Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import queue
- class BT_Array_BFS:
- def __init__(self, nums):
- self.__nums = nums
- def traverse_levelorder_bfs(self):
- if len(self.__nums) == 0:
- return
- q = queue.Queue()
- # initialzation
- i_root = 0
- q.put(i_root)
- while True:
- if q.qsize() == 0:
- break
- i = q.get()
- if i >= len(self.__nums):
- continue
- if self.__nums[i] == None:
- continue
- print(self.__nums[i], end = " ")
- i_left = (i+1) * 2 - 1
- i_right = (i+1) * 2
- q.put(i_left)
- q.put(i_right)
- if __name__ == '__main__':
- nums = [
- 5,
- 2, 6,
- 1, 4, None, 7,
- None, None, 3, None, None, None, None, None]
- bt = BT_Array_BFS(nums)
- print()
- print("\nlevel-order:", end = " ")
- bt.traverse_levelorder_bfs()
- print()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement