题目看到了吧?
树(tree)是包含n(n>=1)个结点,(n-1)条边的有穷集。
注意:概念一来了!
概念一 名称
每个元素称为结点(node)。
有一个特定的结点被称为根结点或树根(root)。
除根结点之外的其余数据元素被分为m(m≥0)个互不相交的集合T1,T2,……Tm-1,其中每一个集合Ti(1<=i<=m)本身也是一棵树,被称作原树的子树(subtree)。
例:
1
| \
2 3
即2,3是1的子树。
结点的度:一个结点含有的子结点的个数称为该结点的度;
叶结点:度为0的结点称为叶结点;
分支结点:度不为0的结点;
子结点:一个结点含有的子树的根结点称为该结点的子结点;
兄弟结点:具有相同父结点的结点互称为兄弟结点;
结点的层次:从根开始定义起,根为第1层,根的子结点为第2层,以此类推;
树的高度或深度:树中结点的最大层次;
森林:由m(m>=0)棵互不相交的树的集合称为森林;
注意!m=0也是森林!
深度:一棵树中所有结点的层次的最大值称为这棵树的深度。
概念二 树的种类
无序树:树中任意节点的子结点之间没有顺序关系,这种树称为无序树,也称为自由树;
有序树:树中任意节点的子结点之间有顺序关系,这种树称为有序树;
二叉树:每个节点最多含有两个子树的树称为二叉树;
即:
O
| \
O O
| \ | \
. . . .
满二叉树:叶节点除外的所有节点均含有两个子树的树被称为满二叉树;
即:
O
| \
O O
| \ | \
. . . (空)
完全二叉树:有个
2
k
−
1
2^k-1
2k−1节点的满二叉树称为完全二叉树
即:
O
| \
O O
| \ | \
. . . .(不空)
哈夫曼树(最优二叉树):带权路径最短的二叉树称为哈夫曼树或最优二叉树;
完。