1.基本概念:
结点的度:是树结点的子孩子的个数(度为0的结点是叶节点或是称终端结点)
树的度:是各个结点的子孩子的个数最大的值
树的深度(高度):是指树的层
有序树和无序树:各子树从左到右有序的话,则称有序树,否则无序树。
二叉树:树的度最大为2的树,且左右子树不能调换,左右子树是不同的结构
左(右)斜树:只有左(右)孩子的树
满二叉树:所有的分支结点都有左右孩子,且所有叶子结点在同一层
完全二叉树:对于一个有N结点的二叉树按层编号,如果编号为I的结点与同样深度的满二叉树为I的结点在相同的位子,则可以称为完全二叉树。
(与满二叉树的区别在于:在最后一层可以从右到左的少掉叶子结点)
2.二叉树的几个常用的性质:
i层最多有2^(i-1)个结点
深度为k的二叉树至多有2^k-1个结点
对于任何一颗二叉树,如果终端节点数为n,度为2的结点数为l,则n=l+1;
n个结点的完全二叉树的高度为()
n个结点的完全二叉树的任一结点i
若2i>n,则无左孩子否则2i是左孩子
若2i+1>n,则无右孩子,否则2i+1是右孩子
3.常用的三种遍历:
前序:根->左孩子->右孩子
中序:左孩子->根->右孩子
后序:左孩子->右孩子->根
4.哈夫曼树(最优而二叉树):最短路径树(将相应的权值加载到相应的路径上)。