第6章 树与森林一复习要点本章主要介绍了树与森林二叉树的定义性质操作和相关算法的实现特别是二叉树的遍历算法它们与许多以此为基础的递归算法都必须认真学习因为树的先根遍历次序与对应二叉树表示的前序遍历次序一致树的后根遍历次序与对应二叉树的中序遍历次序一致因此可以据此得出树的遍历算法线索化二叉树是直接利用二叉链表的空链指针记入前驱和后继线索从而简化二叉树的遍历堆是一种二叉树的应用可以用它作为优先级队列的
树的基本概念J结点A的层次:1结点M的层次:4B几种特殊形式的二叉树 二叉树的存储结构 JD Glchild data rchild二叉树线索化:由于线索化的实质是将二叉树中的空指针改为指向其前驱结点或后继结点的线索(并做上线索标志)而一个结点的前驱或后继结点只有遍历才能知道因此线索化的过程是在对二叉树遍历的过程中修改空指针的过程B中序序列:BCAED中序线索二叉树1E
#
{加工型操作} Assign(T cur_e value) 初始条件:树T存在cur_e 是 T 中某个结点 操作结果:结点 cur_e 赋值为 value ClearTree(T) 初始条件:树 T 存在 操作结果:将树 T 清为空树 InsertChild(T p i c) 初始条件:树 T 存在p 指向T中某个结点 1≤i≤p 所指结点的度1空树 c
数据结构树的基本概念 (a)空二叉树 (c)根和左子树数据结构153数据结构40二叉链表的存储特点是寻找孩子结点容易双亲比较困难因此若需要频繁地寻找双亲可以给每个结点添加一个指向双亲结点的指针域其结点结构如下所示数据结构c28数据结构 typedef enum PointerType{ Link=0 Thread=1 } 定义指针类型以 Link 表示指针Th
#
#
第6章 树和二叉树(Tree Binary Tree目录245BDL图形表示法嵌套集合表示法广义表表示法凹入表示法左孩子-右兄弟表示法2011级数据结构2023518CHK树的度树的深度(或高度)EJ结点结点的度结点的层次终端结点分支结点为何要重点研究每结点最多只有两个 叉 的树二叉树的结构最简单规律性最强可以证明所有树都能转为唯一对应的二叉树不失一般性 16物理意义:叶子数度为2结点数1C
遍历二叉树由一个或多个(n≥0)结点组成的有限集合T有且仅有一个结点称为根(root)当n>1时其余的结点分为m(m≥0)个互不相交的有限集合T1T2…Tm每个集合本身又是棵树被称作这个根的子树 2003级根...D数据问:右上图中的结点数 树的度 树的深度I一对多(1:n)有多个直接后继(如家谱树目录树等等)但只有一个根结点且子树之间互不相交 12讨论2:深度为k的二叉树最多有多少个结点
数据结构 第六章 树和二叉树树和二叉树1树和森林的概念(树的定义树的术语性质 及运算) 2二叉树的定义性质及运算 3二叉树的存储结构(顺序链式表示) 4遍历二叉树 5树的存储结构树森林与二叉树的转换遍 历树遍历森林 6哈夫曼树哈夫曼编码 教学
违法有害信息,请在下方选择原因提交举报