(1)树适合表示具有层次结构的数据。
(2)在一棵树中,根结点没有前驱结点,其余每个结点都有唯一的前驱结点。
(3)度为m的树,至少有一个结点的度为m,且没有度大于m的结点。
(4)对于含有n个结点的树,无论树的度为多少,其分支数或所有结点度之和均为n—1。
(5)对于高度为h的m次树,为满m次树时结点个数最多。
(6)树的遍历运算主要有先根遍历、后根遍历和层次遍历三种。
(7)树的存储结构主要有双亲存储结构、孩子链存储结构和孩子兄弟链存储结构。
(8)二叉树或者是一棵空树,或者是一棵由一个根结点和两棵互不相交的分别称作根结点的左子树和右子树所组成的非空树,左子树和右子树又同样都是一棵二叉树。
(9)二叉树中所有结点的度均小于或等于2。
(10)度为2的树和二叉树是不同的。度为2的树至少有三个结点,而二叉树可以为空。
(11)二叉树和树都属于树状结构,但二叉树并不是特殊的树,也就是说,二叉树并不隶属于树。
(12)在二叉树中,根结点的层次为1,一个结点的层次为其双亲结点的层次加1。
(13)在二叉树中,二叉树的高度等于从根结点到叶子结点的最长路径上的结点个数。
(14)满二叉树中除叶子结点以外的其他结点的度皆为2,且叶子结点在同一层上。
(15)满二叉树中单分支结点个数为0。
(16)若满二叉树的结点数为n,则其高度为log2(n+1)。
(17)完全二叉树中除最后一层外,其余层都是满的,并且最后一层的右边缺少连续若干个结点。
(18)完全二叉树中单分支结点个数即n1为1或0。可以由完全二叉树中结点个数n的奇偶性确定n1的值,当n为奇数时,n1=0,当n为偶数时,n1=1。
(19)结点个数为n的完全二叉树的高度h=[log2(n+1)]或者[log2n]+1。
(20)对于结点个数为n的完全二叉树和满二叉树,其树形是唯一确定的。
(21)二叉树的存储结构主要有顺序存储结构和二叉链存储结构两种。
(22)二叉树的遍历方式主要有先序遍历、中序遍历、后序遍历和层次遍历。
(23)在设计二叉树的递归算法时,通常以整棵二叉树的求解为“大问题”,左、右子树的求解为“小问题”,假设左、右子树可以求解,推导出“大问题”的求解关系,从而得到递归体,再根据递推方向考虑一个特殊情况(如空树或只有一个结点的二叉树)给出递归出口,得到递归模型,在此基础上写递归算法。
(24)在二叉树的先序遍历、中序遍历和后序遍历中,所有左子树均在右子树之前遍历,所以这三种遍历序列中叶子结点的相对次序是相同的。
(25)假设二叉树中的结点值均不相同,由先序遍历序列和中序遍历序列可以唯一确定一棵二叉树。
(26)假设二叉树中的结点值均不相同,由后序遍历序列和中序遍历序列可以唯一确定一棵二叉树。
(27)假设二叉树中的结点值均不相同,由层次遍历序列和中序遍历序列可以唯一确定一棵二叉树。
(28)将一棵非空树转换成二叉树时,树的根结点变为二叉树的根结点。
(29)将一棵非空树转换成二叉树时,树每个结点的最左孩子变为二叉树的左孩子,其他孩子变成该最左孩子的右下结点。
(30)线索二叉树是由二叉链存储结构变化而来的,将原来的空链域改为某种遍历次序下该结点的前驱结点和后继结点的指针。
(31)中序线索二叉树可以采用不需要栈的非递归算法来实现中序遍历。
(32)哈夫曼树是带权路径长度最小的二叉树。
(33)哈夫曼树中权值较大的叶子结点一般离根结点较近,权值较小的叶子结点一般离根结点较远。
(34)哈夫曼树中单分支结点个数为0。
(35)含有m个叶子结点的哈夫曼树中,其结点总数为2m—1。