1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11.4 树

把9看成树叶的个数, (3-1)i=9-1 i=4 要执行4次加法指令 定义 在根树中,对各分支结点 的诸儿子规定了次序(例如左兄 右弟)的n 元树称为n元有序树 若对各分支结点的已排序的诸儿 子规定了在图示中的位置(例如 左、中、右),那么该n元有序树 又称n元位置树。2元位置树各分 支结点的左右儿子分别称为左儿 子和右儿子。 例 观察下面给定三个三元树异同. 作为一般三元树: (a), (b), (c)是相同的. 作为有序树: (a), (b)不同 , (b), (c)相同. 作为位置树: (a), (b) 不同, (b), (c) 不同. 在计算机应用中, 二元树居最 重要的地位, 因为其它有序树都可 以化为二元有序树. 化二元有序树的算法: ①从根结点开始, 保留父亲和最左 边儿子的连线, 取消和其他儿子的 连线, 兄弟间用从左到右的边连接. ② 按如下方式选定每个分支点左 右儿子: 处于给定分支点下方的顶 点作为其左儿子, 同一水平线上与 分支点右邻的顶点作为其右儿(右 兄弟变成右儿子). 例. 下图 (a)是一棵三元位置树, 做 完①得(b), 做完②得(c). (c)是一 颗二元位置树. 任何有序树组成的森林也可以化 为二元有序树. 森林化为二元有序树的算法: ①将森林中每一棵有序树化成二 元有序树; ②除最左边的二元有序树外, 逐次 将右边的二元有序树作为左边有 序树的根的右子树. 例 下图是一棵有序森林, 将其化 为有序二元树. 解: ①将森林中每一棵有序树化成 二元有序树; ②除最左边的二元有序树外, 逐次 将右边的二元有序树作为左边有 序树的根的右子树. 二元树被大量地用于数据结构, 要对任意数据进行操作, 首先必须 遍历二元树. 遍历二元树是指 : 按 一定的次序系统地访问二元树中 所有顶点, 而且仅被访问一次. 遍历二元树最常用的三种方法 分别是: 先根(序)遍历, 中根(序)遍 历和后根(序)遍历. (1) 先根(序)遍历: ① 访问树根r; ② 如果r有左子树, 则先根遍历其 左子树; ③ 如果r有右子树, 则先根遍历其 右子树; 例. 先根(序)遍历如下二元有序树. 得到的序列(字符串)为 A B D C (2) 中根(序)遍历 ① 如果二元树树根r有左子树, 则中根遍历其左子树; ②访问树根r; ③如果二元树树根r有右子树, 则中根遍历其右子树. 例. 中根(序)遍历上述二元有序树 得到的序列(字符串)为 B D A C (3) 后根(序)遍历 ① 如果二元树树根r有左子树, 则后根遍历其左子树; ② 如果二元树树根r有右子树, 则后根遍历其右子树; ③访问树根r; 例. 后根(序)遍历上述二元有序树 得到的序列(字符串)为 D B C A * §7.4 树 树是一种简单而又重要的特殊图 7.4.1 树的基本概念 无向树,简称为树 连通无回路的无向图 树叶 树中的悬挂点 其它结点称为分支点 空树 单一孤立结点 森林 诸连通分支均为树的图 树也是森林 由于树无自环也无重边(否则它 有回路),因此树必定是简单图。 定理 设图T为一树,其顶点数、 边数分别是n, m, 则 n – m = 1 或 m = n – 1 证 用数学归纳法,略。 定理 任何树都至少有两片叶。 证 设T为任一树,其顶点数、 边数分别为n, m。 又设T中至多只有一个顶点是叶 则 故 任何树都至少有两片叶。 树还有下列5个等价定义形式。 定理 命题“(n,m)图T为树”与 下列5命题中的每一命题等价: (1)T无回路且m = n – 1 。 (2)T连通且m = n – 1 。 (3)T无回路, 但任意添加边时, T中产生唯一的一条回路。 (4)T连通,但删去任一边时便 不再连通,故T的每一边均为割边 (5)任意两个不同顶点之间有且 仅有一条通路。 证:仅以(5)为例证明 设图G为树T 因为树是连通的,所以任意二结点 间都存在一条路径,设为E1 假定E1不是基本路径, 则其中至少 有一个结点vi的出现超过两次,这样 必有回路,这与树的定义矛盾。 因此E1是基本路径。 若任意二结点间存在的基本路径 不止一条E1 ,则也会出现回路 ,与 树的定义矛盾。 因此基本路径E1是唯一的。 反之,设图G中任意二结点间有一 条基本路径,则G是连通的且不 会有回路。 故 图G是树T 此图不是树,因为它有回路。 其生成子图构成树 7. 4. 2 生成树 定义 若T为G的生成子图且为树, 则称T为无向图G的生成树。 定理 任一连通图G都至少有一棵 生成树。 证明: 若G无

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档