一.简介
一棵树每个节点可能有0个或更多子节点,每个节点至多有一个父节点,没有父节点的那个称之为根节点。除根节点外各节点可分为多个不相交的子树。
1.节点的度:
一个节点的直接子节点个数,称之为节点的度。比如上图中B节点的度为3,C节点的度是2,I、J、E、F、G、H节点的度是0
2.树的度
一棵树中最大节点的度称之为树的度,即树中哪个节点的子节点最多,那么这个节点的度也就是树的度
3.节点的层次
从根这一层开始,根算1层,根的子节点算2层,一直到最下面一层
4.树的高度
树的高度是从叶节点开始、自底向上逐层累加(叶节点的高度是1)
二叉树
二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。
1.满二叉树
一棵二叉树的结点要么是叶子结点,要么它有两个子结点(如果一个二叉树的层数为K(根节点层数为1),且结点总数是(2^k) -1,则它就是满二叉树。)
2.完全二叉树
若二叉树的深度为k,除第 k 层外,其它各层 (1~k-1) 的结点数都达到最大个数,第k 层所有的结点都连续集中在最左边,这就是完全二叉树。
3.霍夫曼树
树的带权路径最小,用于对信息编码压缩
4.排序二叉树(BST)
任何一个节点的左子树上的点,都必须小于当前节点,任何一个节点的右子树上的点,都必须大于当前节点,等于当前节点的数据可以放在左节点或右节点。
5.AVL树
任意节点子树高度差不超过1的平衡二叉树
6.红黑树
任意节点到叶子节点包含相同数量的黑色节点,黑色平衡二叉树
二.总结
在非空二叉树中,第i层的结点总数不超过(2^i)-1,i >= 0
深度为k的二叉树最多有(2^k)-1个结点,最少有k个结点