Given a sorted array with unique interger elements write an algorithm to create a binary search tree with minimal height
arr=[10,9,8,7,6,5,4,3,2,1]
we recursively build the tree based on the array, because it is sorted, we can do re arrangement based on the nodes.
def arrtoBST(arr,start,end): if start>end: return None mid=start+(end-start)/2 node=TreeNode(arr[mid]) node.left=arrtoBST(arr,start,mid-1) node.right=arrtoBST(arr,mid+1,end) return node newnode=arrtoBST(arr,0,len(arr)-1)