给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。
struct Node
{
int value;
Node *left;
Node *right;
};
void createTree(int a[], int begin, int end, Node* &r...
分类:
编程语言 时间:
2015-01-29 09:37:31
阅读次数:
226
给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。
由于数组是递增有序的,每次都在中间创建结点,类似二分查找的方法来间最小树。
struct TreeNode
{
int data;
TreeNode* leftChild;
TreeNode* rightChild;
};
void newNode(TreeNode*& vNode, int vData)
{
vNode...
分类:
其他好文 时间:
2014-08-30 02:24:58
阅读次数:
260
题目:
Given a sorted (increasing order) array, write an algorithm to create a binary tree with minimal height.
翻译:
给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。
思路:
要使二叉树的高度最小,则要尽量使其左右子树的节点数目相当,自然就考虑到将其构造成为二叉排序树,且将有序数组的中间大的数作为根节点,这样得到的二叉树的高度便是最小的。...
分类:
其他好文 时间:
2014-05-01 17:48:45
阅读次数:
321