目录:树和二叉树
1) 树的基本知识 2)二叉树 3)遍历二叉树和线索二叉树
4)树和森林 5)赫夫曼树及其应用
特点:非线性结构,一个直接前驱,但可能有多个直接后继(1:n)
1.树的定义
由一个或多个(n≥0)结点组成的有限集合T,有且仅有一个结点称为根(root),当n>1时,其余的结点分为m(m≥0)个互不相交的有限集合T1,T2,…,Tm。每个集合本身又是棵树,被称作这个根的子树 。
注1:过去许多书籍中都定义树为n≥1,曾经有“空树不是树”的说法,但现在树的定义已修改。
注2:树的定义具有递归性,即树中还有树。
2.若干术语
根——即根结点(没有前驱)
叶子——即终端结点(没有后继)
森林——指m棵不相交的树的集合(例如删除A后的子树个数)
有序树——结点各子树从左至右有序,不能互换(左为第一)
无序树——结点各子树可互换位置
双亲——即上层的那个结点(直接前驱) parent
孩子——即下层结点的子树 (直接后继) child
兄弟——同一双亲下的同层结点(孩子之间互称兄弟)sibling
堂兄弟——即双亲位于同一层的结点(但并非同一双亲)cousin
祖先——即从根到该结点所经分支的所有结点
子孙——即该结点下层子树中的任一结点
结点——即树的数据元素
结点的度——结点挂接的子树数(有几个直接后继就是几度,亦称“次数”)
结点的层次——从根到该结点的层数(根结点算第一层)
终端结点——即度为0的结点,即叶子
分支节点——除树根以外的结点(也称为内部结点)
树的度——所有结点度中的最大值(Max{各结点的度})
树的深度(或高度)——指所有结点中最大的层数(Max{各结点的层次})
问:右上图中的结点数=13 ;树的度= 3 ;树的深度=4
3.树的表示法
图形表示法 嵌套集合表示法 广义表表示法 目录表示法 左孩子-右兄弟表示法
图形表示法:
广义表表示法:<