def tree_creator(arr, parent=None): # if arr is empty if len(arr) == 0: return None node = Node(arr[0]) node.parent = parent # if there is only one node in the array if len(arr) == 1: return node subArr = arr[1:] left = [] right = [] for i in range(len(subArr)): if subArr[i] < node.data: left.append(subArr[i]) else: right = subArr[i:] break node.left = tree_creator(left, node) node.right = tree_creator(right, node) return node