树网的核解题报告.ppt

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

* 4. 树网的核 问题描述 设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边带有正整数的权,我们称T为树网 (treenetwork),其中V, E分别表示结点与边的集合,W表示各边长度的集合,并设T有n个结点。 路径:树网中任何两结点a,b都存在唯一的一条简单路径,用d(a,b)表示以a,b为端点的路径的长度,它是该路径上各 边长度之和。我们称d(a,b)为a,b两结点间的距离。 一点v到一条路径P的距离为该点与P上的最近的结点的距离: d(v,P)=min{d(v,u),u为路径P上的结点}。 树网的直径:树网中最长的路径称为树网的直径。对于给定的树网T,直径不一定是唯一的,但可以证明:各直径 的中点(不一定恰好是某个结点,可能在某条边的内部)是唯一的,我们称该点为树网的中心。 偏心距ECC(F):树网T中距路径F最远的结点到路径F的距离,即 任务:对于给定的树网T=(V, E,W)和非负整数s,求一个路径F,它是某直径上的一段路径(该路径两端均为树网中 的结点),其长度不超过s(可以等于s),使偏心距ECC(F)最小。我们称这个路径为树网T=(V,E,W)的核(Core) 。必要时,F可以退化为某个结点。一般来说,在上述定义下,核不一定只有一个,但最小偏心距是唯一的。 下面的图给出了树网的一个实例。图中,A-B与A-C是两条直径,长度均为20。点W是树网的中心,EF边的长度为 5。如果指定s=11,则树网的核为路径DEFG(也可以取为路径DEF),偏心距为8。如果指定s=0(或s=1、s=2) ,则树网的核为结点F,偏心距为12。 【输入】 输入文件core.in包含n行: 第1行,两个正整数n和s,中间用一个空格隔开。其中n为树网结点的个数,s为树网的核的长度的上界。设结点编 号依次为1, 2, ..., n。 从第2行到第n行,每行给出3个用空格隔开的正整数,依次表示每一条边的两个端点编号和长度。例如,“2 4 7”表 示连接结点2与4的边的长度为7。 所给的数据都是正确的,不必检验。 【输出】 输出文件core.out只有一个非负整数,为指定意义下的最小偏心距。 【输入输出样例1】 5 5 2 1 2 5 2 3 2 2 4 4 2 5 3 core.out core.in 【输入输出样例2】 5 8 6 1 3 2 2 3 2 3 4 6 4 5 3 4 6 4 4 7 2 7 8 3 core.out core.in 【限制】 40%的数据满足:5=n=15 70%的数据满足:5=n=80 100%的数据满足:5=n=300, 0=s=1000。边长度为不超过1000的正整数 [算法分析] 由于本题涉及许多数据结构有关树与图的基本概念,所以在讨论 本题之前,先将与之相关的知识逐一梳理如下: 1、树的定义:树是n个结点的有限集合。当n=0时,称为空树。在 任何一棵非空树中,有且仅有一个没有前驱的被称为根的结点, 其余结点被分成m(m≥0)个不相交的子集,每个子集也是树,并且 被称为根的子树。 注意:我们平时所说的树都是指的有根树,即树中有且仅有一个 没有前驱的被称为根的结点。 树有许多等价的定义: 设无向图G = V,E,下列各命题是等价的: 1)G连通而不含回路(即G是树); 2)G中无回路,且m = n-1,其中m为边数,n为结点数,下同; 3)G是连通的,且m = n-1; 4)G中无回路,但在G中任二结点之间增加一条新边,就得到惟一 的一条基本回路; 5)G是连通的,但删除G中任一条边后,便不连通;(n≥2) 6)G中每一对结点之间有惟一一条基本通路。(n≥2) 2、无根树:无根树与通常所说的树(有根树)很相似,它包括有结 点和枝,但不含有根,即不存在度为0的结点。无根树结点间只 有相邻关系,而不存在父子结点的关系。 无根树是不含回路的图且恰有n-1条边。 3、请叙述与本题中的有关的6个概念: 1)简单路径; 2)a,b两点间的距离; 3)一点v到一条路径P的距离; 4)树网的直径; 5)偏心距; 6)树网的核。 本题任务:求解与树网的核对应的最小偏心距。 本题总体算法:模拟。 ? “题目说什么,我们做什么”。这是模拟算法的根本思想。本题 中,我们可以通过这样的办法进行模拟: 1、通过Floyd算法求出每一对顶点之间的最短路径,并将最短路 径存入d数组。 2、根据d数组求出树网的直径trip。 3、对于一条确定下来的树网的直径,通过直接模拟的方法得出偏心矩,并从中求出最小的偏心距。 变量说明: d:array[0..300,0..300]of longint; d[i,j]=k:每一条边d(i,j)两结点间的距离为k,即树网对应的邻接矩阵; n,s:longint;

文档评论(0)

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

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

1亿VIP精品文档

相关文档