1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 满二叉树 完全二叉树 平衡二叉树 最优二叉树

满二叉树 完全二叉树 平衡二叉树 最优二叉树

时间:2021-03-23 01:51:17

相关推荐

满二叉树 完全二叉树 平衡二叉树 最优二叉树

目录

一、满二叉树

二、完全二叉树

堆排序实现过程(结构为完全二叉树)

三、平衡二叉树

四、最优二叉树(哈夫曼树)

一、满二叉树

一棵二叉树的结点要么是叶子结点,要么它有两个子结点(如果一个二叉树的层数为K,且结点总数是(2^k) -1,则它就是满二叉树。)

假设满二叉树的高度为(),那么第层的节点数量为:叶子节点数量为:总节点数量,,,的底为2.在同样高度的二叉树中,满二叉树的叶子节点数量最多,总节点数量最多

二、完全二叉树

若设二叉树的深度为k,除第 k 层外,其它各层 (1~k-1) 的结点数都达到最大个数,第k 层所有的结点都连续集中在最左边,这就是完全二叉树。

一棵有n个节点的完全二叉树(n>0),从上到下,从左到右对节点从0开始编号,对任意第个节点

(1)它的左孩子结点是:R[2*i+1];

(2)它的右孩子结点是:R[2*i+2];

(3)它的父结点是:R[(i-1)/2];

(4) R[i] <= R[2*i+1]且R[i] <= R[2i+2]。

性质1:

性质2:完全二叉树中,度为1的节点个数或者是0,或者是1

性质3:

堆排序实现过程(结构为完全二叉树)

首先,按堆的定义将数组R[0..n]调整为堆(这个过程称为创建初始堆),交换R[0]和R[n];

然后,将R[0..n-1]调整为堆,交换R[0]和R[n-1];

如此反复,直到交换了R[0]和R[1]为止。

三、平衡二叉树

它或者是一颗空树,或它的左子树和右子树的深度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。

四、最优二叉树(哈夫曼树)

树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。