树形结构是一种重要的非线性数据结构
6.1树的定义和基本术语
1.树是n个节点的有限集
(1)有且只有一个特定的被称为根的节点
(2)n>1时其余节点可分为m个互不相交的有限集,其中每一个集合本身又是一棵树,称为根的子树
6.2二叉树
1.二叉树是每个节点至多有两颗子树(即二叉树中不存在度大于二的节点)而且二叉树的子树有左右之分,次序不可颠倒
2.二叉树的存储结构有顺序存储和链式存储
6.3遍历二叉树和线索二叉树
1.遍历二叉树(即按照某条搜索路径寻访树中的每个节点,使得每个节点均被访问且仅访问依一次)
2.先序遍历二叉树
⑴ 访问根结点;
⑵ 遍历左子树;
⑶ 遍历右子树。
3.中序遍历二叉树
⑴遍历左子树;
⑵访问根结点;
⑶遍历右子树。
4.后序遍历二叉树
⑴遍历左子树;
⑵遍历右子树;
⑶访问根结点。
6.4树和森林
1.双亲表示法
2.孩子表示法
3.森林与二叉树的转换
6.6赫夫曼树及其应用
1.最优二叉树(赫夫曼树)