1.树相关的概念
度:节点所拥有的子树的数目称为该节点的度 叶子节点的度为0。
2.二叉树
定义
每个结点至多只有两颗子树,并且二叉树的子树有左右之分,其次序不能任意颠倒。
性质
性质1
在二叉树的第i层上至多有2的i-1次方个结点。
性质2
深度为k的二叉树至多有2的k次方-1个结点。
性质3
对任意一棵二叉树,如果其叶子结点数为n0,度为2的结点数为n2,n0=n2+1。
结点总数=n=n0+n1+n2
结点总数=分支数+1。n=(n1+2*n2)+1
所以 n0=n2+1
性质4
具有n个结点的完全二叉树的深度为log2n(向下取整)+1
3.满二叉树
深度为k,具有2的k次方-1个结点
4.完全二叉树
深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。
这种树的特点是:
(1)叶子结点只可能在层次最大的两层上出现。
(2)对任一结点,若其右分支下的子孙的最大层次为L,则其左分支下的子孙的最大层次必为L或L+1。
深度为k的完全二叉树至少有2的(k-1)次方个结点。
5.二叉查找树
性质
二叉查找树(BST:Binary Search Tree)是一种特殊的二叉树,它改善了二叉树节点查找的效率。二叉查找树有以下性质:
对于任意一个节点 n,
其左子树(left subtree)下的每个后代节点(descendant node)的值都小于节点 n 的值;
其右子树(right subtree)下的每个后代节点的值都大于节点 n 的值。
插入
删除
6.最优二叉树
树的路径长度:从树根到每一个结点的路径长度之和。
树的带权路径 长度:树中所有叶子结点的带权路径长度之和。
最优二叉树(哈夫曼树):带权路径长度WPL最小的二叉树