离散数学及其应用第9章-树的基本理论与算法(上).ppt

离散数学及其应用第9章-树的基本理论与算法(上).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
k元完全树中分支点与叶结点数目之间的关系如下: * 分支点与叶结点 【例】假设有一台计算机,它有一条加法指令,可计算3个数的和。如果要求9个数x1, x2, x3, x4, x5, x6, x7, x8, x9之和,问至少要执行几次加法指令? 【解】用3个结点表示3个数,将表示3个数之和的结点作为它们的父结点。 可理解为求一个三元完全树的分支点问题。把9个数看成叶。则有:(3-1)i = 9-1,得i = 4。 所以至少要执行4次加法指令。 * 例 题 * 例 题 * 例题 【例】已知有一棵含有 2010 个结点的完全二元树, 问总共有多少叶子结点? 【分析】利用完全二元树的性质求解。 【解】易知完全二元树的各层结点数依次为: 1,2,4,8,16,32,64,128,…, 显然可求得前 10 层的结点数为 1023, 故第 11 层共有叶子为: 2010-1023=987(片)。这 987 片叶子是从第 10 层的 INT(987/2)+1=494 个父亲结点那里映射出来的,换句话说,第 10 层尚有 512-494=18 个结点没有儿子,所以,这 18 个没有儿子的结点也是叶子,综上,这课完全二元树的叶子总数为: 987+18=1005(片)。 * 例 题 * 例 题 * 计算机应用技术研究所 * 根树的基本知识 有向树与根树 根树的基本算法 前缀码与最优树 * 根树的遍历 算法求解 * 算法定理 * 例 题 【例】用克鲁斯卡尔算法求图中赋权图的最小生成树。 【解】依次取边如下:(C, D),(F, G),(C, G),(G, H),(A, C),(B, C),(H, I), (B, E)。 具体过程如图 (b)到 (i)。 * 例 题 【例】用克鲁斯卡尔算法求图中赋权图的最小生成树。 * 4 6 5 5 7 6 1 f 9 2 3 a d b c i m j k e h g 3 4 3 4 4 6 5 8 7 5 8 2 3 4 5 k 1 f e c h 3 4 a 3 i 5 d m 2 g 2 b j 4 解 n=12,按算法要执行n-1=11次,w(T) = 36。 例 题 【例】假设有5个信息中心A、B、C、D、E,它们之间的距离(以百公里为单位)如图所示。要交换数据,我们可以在任意两个信息中心之间通过光纤连接,但是费用的限制要求铺设尽可能少的光纤线路。重要的是每个信息中心能和其它中心通信,但并不需要在任意两个中心之间都铺设线路,可以通过其它中心转发。 * 【分析】这实际上就是求赋权连通图的最小生成树问题,可用Prim算法或Kruskal算法求解。 A B C D E 3 5 4 7 9 6 2 8 7 9 应用实例 * 应用实例 * 无向树的基本知识 1 特殊根树与算法 3 根树的基本知识 2 树模型的应用 4 本章学习内容 * 计算机应用技术研究所 * 根树的基本知识 * 计算机应用技术研究所 * 根树的基本知识 有向树与根树 根树的基本算法 前缀码与最优树 【定义】一个有向图,若略去所有有向边的方向所得到的无向图是一棵树,则这个有向图称为有向树(Directed Tree)。 * 有向树 下图中哪些是有向树? * 例 对于所示若干有向图,略去其所有边的方向,则由图 (a)、(b) 得到的无向图都是树, 而由图(c)得到的无向图有回路, 由图(d)得到的无向图为森林。 因此,图(a)、(b)均是有向树, 图(c)、(d) 均不是有向树。 有向树与非有向树 【定义】一棵非平凡的有向树,如果恰有一个结点的入度为0,其余所有结点的入度均为1,则称之为根树(Root Tree)或外向树(Outward Tree)。 入度为0的结点称为根结点,简称为根; 出度为0的结点称为叶结点,简称为叶; 入度为1,出度大于0的结点称为内结点,简称为内点。 * 根树的定义 将内点和根统称为分支结点,简称为分支点。 在根树中,从根到任一结点v的通路长度,称为该结点的层数; 称层数相同的结点在同一层上; 所有结点的层数中最大的称为根树的高。 * 根树的定义 * 根 树 【例】判断下图所示的图是否是根树?若是根树,给出其根、叶和内点,计算所有结点所在的层数和高。 * v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 【解】是根树。v1为根。 v5,v6,v8,v9,v10,v12,v1为叶, v2,v3,v4,v7,v11为内点。v1在第零层,层数为0;v2,v3,v4处第一层,层数为1;v5,v6,v7,v8,v9在第二层,层数为2;v

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档