首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。若最短路径不止一条,在找到一条最短路径的同时,还需要输出不同最短路径的条数。现有一种解决该问题的方法: (1)初始化结点集合S为仅包含源结点s
带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。若最短路径不止一条,在找到一条最短路径的同时,还需要输出不同最短路径的条数。现有一种解决该问题的方法: (1)初始化结点集合S为仅包含源结点s
admin
2014-12-08
36
问题
带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。若最短路径不止一条,在找到一条最短路径的同时,还需要输出不同最短路径的条数。现有一种解决该问题的方法:
(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://jikaoti.com/ti/a7ajFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
系统阐明社会主义初级阶段理论是在()。
1941年初成立的一个具有代表性的中间性政党是()。
被马克思称颂为“古代无产阶级的真正代表”的是()。
科举是一种读书、应考、任官三位一体的选官方法,其中的进士科始创于()。
印度孔雀帝国时代,就土地占有情况而言,占全国土地的绝大部分的是()。
撰写《南海寄归内法传》和《大唐西域求法高僧传》二书,记录了南亚许多国家的社会、文化和宗教状况,成为研究7世纪印度、巴基斯坦和南洋各国历史、地理可靠资料的是()。
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
最晚到汉武帝时期,出现了我国第一部算学著作(),它记载了用竿标测日影以求日高的方法,从而认识了勾股定理。
()用铜制造了人体模型,并统一了人体的穴位。
若干个等待访问磁盘者依次要访问的柱面为20,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。(1)先来先服务算法;(2)最短寻找时间
随机试题
Thestatusgiventowaitersinarestaurantvariesindifferentpartsoftheworld.Forexample,insomeplacesworkingasawai
下列哪一项不是良性胃溃疡的声像图表现()
大黄附子汤的服用须注意
(2013年)设积分环节和理想微分环节的微分方程分别为c’(t)=r(t)和c(t)=r’(t),则其传递函数分别为()。
下列各项优惠政策中,属于免纳个人所得税项目的是()。[2009年5月三级真题]
某个手机锁屏密码是三位数字,连续输错三次密码手机就会锁定5分钟。若密码的三位数字不重复,试图解锁的人也知道这一点,问他在五分钟内解锁成功的概率是多少?
在名称为Frame1的框架中,有两个名称分别为op1、op2的单选按钮,标题分别为"单程"、"往返",如图所示。 以下叙述中,正确的是( )。
设数据元素的集合D={1,2,3,4,5),则满足下列关系R的数据结构中为线性结构的是
文涵是大地公司的销售部助理,负责对全公司的销售情况进行统计分析,并将结果提交给销售部经理。年底,她根据各门店提交的销售报表进行统计分析,请帮助文涵完成此项工作。将工作表标题跨列合并后居中,并适当调整其字体、加大字号,并改变字体颜色。适当加大数据表行
A.humanisbornwithacertainpersonalityB.howthepersonalityandbehaviorareformedC.willexperienceintellectualdevel
最新回复
(
0
)