if (height >= 0)
{
tree = (Node *) malloc (sizeof (Node)) ;
tree -> left = generate_ideal_binary_search_tree (height - 1, assigned_min) ;
tree -> item = (*assigned_min)++ ;
tree -> right = generate_ideal_binary_search_tree (height - 1, assigned_min) ;
return tree ;
}
else
return NULL ;
}