1.树是n(n>=0)个结点的有限集。
2.二叉树的特点是每个结点至多只有两颗子树(即二叉树中不存在度大于2的结点),并且二叉树的子树有左右之分,其次序不能任意颠倒。
2.二叉树有5种基本形态。(书p123)
3.二叉树的性质。(书p123)
4.一颗深度为k且有2^k -1个结点的二叉树称为满二叉树。
5.完全二叉树:深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。
6.二叉树的顺序存储结构:用一组地址连续的存储单元依次自上而下、自左至右存储完全二叉树上的结点元素,即将完全二叉树上编号为i的结点元素存储在如上定义的一维数组中下标为i-1的分量中。
7.这种顺序存储结构仅适用于完全二叉树。因为在最坏的情况下,一个深度为k且只有k个结点的单支树(树中不存在度为2的结点)却需要长度为2^k -1的一维数组。
8.表示二叉树的链表中的结点至少包含3个域:数据域和左、右指针域,z这种所得二叉树的存储结构称为二叉链表。
9.三叉链表:表示二叉树的链表中的结点至少包含3个域:数据域,指向双亲结点的指针域,左、右指针域。
10.在含有n个结点的二叉链表中有n+1个空链域。
11.对二叉树进行遍历,对含有n个结点的二叉树,其时间复杂度均为O(n),空间复杂度也为O(n)。
12.由二叉树的先序序列和中序序列可以唯一地确定一颗二叉树;由二叉树的后序和中序序列也可可以唯一地确定一颗二叉树;由二叉树的层序和中序序列也可以唯一地确定一颗二叉树。
13.对二叉树以某种次序遍历使其变为线索二叉树的过程叫做线索化。
14.线索二叉树的存储结构。(书p133)
15.引入线索二叉树的目的是为了加快查找结点前驱和后继的速度。
16.对二叉树的线索化,实质上就是遍历一次二叉树,只是在遍历的过程中,检查当前结点左、右指针域是否为空,若为空,将它们改为指向前驱结点或后继结点的线索。
17.在n个结点的树中有n-1条边。
18.哈夫曼树:带权路径长度WPL最小的二叉树。