怎样编写一个程序,把一个有序整数数组放到二叉树中

如题所述

第1个回答  推荐于2017-09-07
将有序数组存储到二叉树中,可以考虑用二分法建树。这样建出来的二叉树高度最矮。
TreeNode *BuildTree(int array[], int low, int high)
{
if (low > high)
return NULL;
TreeNode *tmp = (TreeNode *)malloc(sizeof(TreeNode));
tmp->data = array[(low + high) / 2)];
tmp->left = BuildTree(array, low, (low + high) / 2 - 1);
tmp->right = BuildTree(array, (low + high) / 2 + 1, high);
return tmp;
}本回答被提问者和网友采纳
相似回答