树和二叉树
1 度
结点的度:一个结点的子结点的个数
树的度:结点的度的最大值
2 树的高度
一棵树的最大层次数称为树的高度(或深度)
3 树的遍历
前序遍历:根 → 左 → 右
后序遍历:左 → 右 → 根
层次遍历:第一层 → 第二层 → 第三层 → 。。。
4 二叉树
4.1 定义
(1) 结点的最大度为2
(2) 分为左右子树
4.2 性质
(1) 第i层上的结点数目最多为
(2) 深度为k的二叉树最多有 个结点
(3) 终端结点数(叶子结点数)= 度为2的结点的结点数 + 1
(4) n个结点的完全二叉树的深度为 ( 取上限)
4.3 特别二叉树
满二叉树:深度为k且有 个结点
完全二叉树:每个结点的编号都与满二叉树相对应,直到最终结点
4.4 树的遍历
前序遍历:根 → 左 → 右
中序遍历:左 → 根 → 右
后序遍历:左 → 右 → 根
4.5 二叉排序树
又称二叉查找树:
(1) 左子树上的所有结点的值都小于它的根节点
(2) 右子树上的所有结点的值都小于它的根节点
(3) 左右子树分别为二叉排序树
4.6 平衡二叉树
又称AVL树:
(1) 空树
(2) 左右子树高度差的绝对值小于等于1
(3) 左右子树均为平衡二叉树
4.7 最优二叉树
又称哈夫曼树:
给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,则为最优二叉树
带权路径长度最短的树,权值较大的结点离根较近