Given a sorted (increasing order) array, write an algorithm to create a binary tree with minimal height.
typedef struct Node { int val; Node *left,*right; Node(int v){ val = v;left = right = NULL;} }Node; Node* createTree(int a[],int start,int end) { if(start<=end) { int mid = start+(end-start)/2; Node *newNode = new Node(a[mid]); newNode->left = createTree(a,start,mid-1); newNode->right = createTree(a,mid+1,end); return newNode; } else return NULL; } int main() { int n,a[n]; Node *root = createTree(a,0,n-1); }