阅读背景:

给定一个有序数组(递增),构建一棵具有最小高度的二叉树

来源:互联网 

给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。

想要使构建出来的二叉树高度最小,那么对于任意结点, 它的左子树和右子树的结点数量应该相当。比如,当我们将一个数放在根结点, 那么理想情况是,我们把数组中剩下的数对半分,一半放在根结点的左子树, 另一半放在根结点的右子树。我们可以定义不同的规则来决定这些数怎样对半分, 不过最简单的方法就是取得有序数组中中间那个数,然后把小于它的放在它的左子树, 大于它的放在它的右子树。不断地递归操作即可构造这样一棵最小高度二叉树。想要使构建出




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: