赞
踩
它是树型结构(非线性结构)结点之间具有分支,具有层次结构
定义:Tree为n(n>=0)个结点的有限集
n=0时为空树,n>0时满足以下两种情况:1.有且仅有一个特定的结点称之为root(根)。
2.其余结点可以分为m个互不香蕉道有限集,称其为子树。
度:结点的分支数,树的度为结点度的最大值。
树的深度为结点的最大层次。
二叉树并非树的特殊情况,他们是两种概念,二叉树结点的子树要区分左右子树,就算只有一个子树也要做区分,但是树是不用做区分的。
深度为K的二叉树上的结点至多为2^k-1个结点,最少为k个结点
第i层上最多有2^(i-1)个结点,最少有一个。
满二叉树:从根节点开始,自上而下,自左至右,每个节点都有元素。
完全二叉树:可以与满二叉树一一对应。
遍历分为先序遍历,中序遍历,后序遍历
他们的遍历流程分别如下:
1.根
2.先序遍历左子树
3.先序遍历右子树
1.中序遍历左子树
2.根
3.中序遍历右子树
1.后序遍历左子树
2.后序遍历右子树
3.根
有一种问题是给你遍历结果问树张什么样子,我们可以从先序遍历的一个结点中得出根,然后到后序遍历中得出左子树,右子树所包含的元素,然后一步步生成它,后续遍历就从最后一个结点得出根。
哈夫曼树是最优树
WPL(Weight Path Length)=叶子结点的带权路径长度之和。
哈夫曼树是wpl最短的树
最优二叉树是哈夫曼树的一种,是wpl最小的二叉树,是完全二叉树。
使用贪心算法来看,我们只需要将大的放前面,小的放后面即可。
这样操作:1.选两个最小的生成一个树
2.计算出根值
3.在待选取元素中划去这两个元素
4.选取两个小值重复上面的操作。
左0右1
要看编码的时候,从根结点一路看下来即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。