首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。若最短路径不止一条,在找到一条最短路径的同时,还需要输出不同最短路径的条数。现有一种解决该问题的方法: (1)初始化结点集合S为仅包含源结点s
带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。若最短路径不止一条,在找到一条最短路径的同时,还需要输出不同最短路径的条数。现有一种解决该问题的方法: (1)初始化结点集合S为仅包含源结点s
admin
2014-12-08
65
问题
带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。若最短路径不止一条,在找到一条最短路径的同时,还需要输出不同最短路径的条数。现有一种解决该问题的方法:
(1)初始化结点集合S为仅包含源结点s;用一个整型数组Counter[v]来记录从结点s到结点v的最短路径的条数;各结点Counter的初始值为0。
(2)从未加入S的结点中选择当前距离最小的结点v(“当前距离”是指从s到v且仅经过S中结点的最短距离),将其加入S。
(3)对每个与v相邻的结点w,若w不在S内,检查: ①若v的加入使得w的当前距离变小,则更新w的当前距离为(v,w)的边长与v的当前距离之和,并日.令Counter[w]=1。 ②若v的加入是s到w的长度相同的另一条最短路径,则Counter[w]++;
(4)重复步骤(2)和(3),直到所有结点都被收录到集合S中。 若该方法可行,请证明之;否则,请举例说明。
选项
答案
首先,该算法是错误的。图8一10给出了反例:设图中各边长为1,则从s到w有3条长度棚同的路径,而使用此算法得到的结果为2。 [*] 问题出现在以下3个地办: (1)当v的加入产生新的最短路径时,从s到v再到w的最短路径条数等于v的最短路径条数,而不是仅等于1。所以步骤(3)中①的Counter[w]=1 应改为等于Counter[w]=Counter[v]。 (2)若v的加入是s到w的长度相同的另一条最短路径,则w的最短路径条数并不是仅增加了1,而是v带过来的所有最短路径。所以(3)中②的Counter[w]++改为(Counter[w]+=Couter[v]。 (3)根据前两步的修改,Counter[s]的初始值必须为1,而不是0,否则后面所有结点的Counter都会一直是0。 总结:此题属于对经典Dijkstra算法的推广应用,类似题目还有累积所有长度相同的最短路径上的结点个数等,其实现原理相同。另一类相似的推广应用是找到包含边数最少的那条最短路径,这时题干中算法的第(3)步应该改为以下步骤。 对每个与v相邻的结点w,若w不在S内,检查: ①若v的加入使得w的当前距离变小,则更新w的当前距离为(v,w)的边长与v的当前距离之和,更新Counter[w]=Counter[v]+1,并将v记录在w的路径上。 ②若v的加入是s到w的长度相同并且边数更少(Counter[w]>Counter[v]+1)的另一条最短路径,则Counter[w]=Counter[v]+1,并将v记录在w的路径上。 这里的整型数组Counter[v]记录从s结点到v结点的最短路径包含的边数,各结点Counter的初始值均为0。此问题很容易出错的地方是当发现另一条长度相同但包含边数更少的最短路径时,只更新了Counter,却忘记了更新w的路径。 类似的题目还有求包含最多边的最短路径,或者给每个结点赋予价值,求价值最高的最短路径等,其实现原理相同。
解析
转载请注明原文地址:https://www.kaotiyun.com/show/xZxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
科举是一种读书、应考、任官三位一体的选官方法,其中的进士科始创于()。
下列作品不属于明清时期地理学科代表作的是()
我国第一部系统的史学理论著作是()。
被马克思称颂为“古代无产阶级的真正代表”的是()。
我国第一部系统的史学理论著作是()。
张仲景的代表性著作是()。
列宁在()中系统地阐明了马克思主义的国家学说。
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
在巴黎和会上获利最大的两个国家是()。
某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间
随机试题
当用螺钉调整法把轴承游隙调节到规定值时,一定把()拧紧,才算调整完毕。
某人民法院依法审理刘某盗窃案,在庭审过程中,公诉人发现案件需要补充侦查,向人民法院提出意见,对此人民法院应当如何处理?()
按通货膨胀的成因,通货膨胀可以分为()。
下列各项中,纳税人应当自行申报缴纳个人所得税的有()。
为使产品满足顾客和法律法规的要求,需要对其在()等多方面的要求做出全面规定,这些规定组成产品相应的质量特性。[2007年真题]
教师的能力素质主要包括( ),语言表达能力,组织管理能力,自我调控能力。
在影响儿童发展三类要素中,______在其中起着决定性作用。
为了提高函数调用的实际运行速度,可以将较简单的函数定义为()。
•Lookatthestatementsbelowandatthefiveextractsfromanarticleaboutbroadeningcorporateresponsibility.•Whichartic
OnSaturdaymorningweworkedfor________twohoursandthenstoppedtohavesomethingtoeat.
最新回复
(
0
)