算法导论第24、25章习题—最小生成树、单源最短路、所有节点对最短路
admin
2024-03-27 21:05:09
0

Homework9Homework 9Homework9

  1. 给定一幅加权图GGG 以及它的最小生成树。从GGG中删去一条边且GGG 仍然是连通的,如何在与EEE成正比的时间内找到新图的最小生成树。
       删去一条边有两种情况:
       1. 如果删去的边不属于最小生成树T0T_0T0​,那么对图的最小生成树无影响,新图的最小生成树仍是T0T_0T0​
       2. 如果删去的边属于最小生成树T0T_0T0​,那么删去一条边e0e_0e0​后相当于T0T_0T0​断开,得到最小生成树的两棵子树(T1、T2)∈T0(T_1、T_2)∈T_0(T1​、T2​)∈T0​,那么只需要去图GGG中找到一个边e1∉T0e_1∉T_0e1​∈/​T0​,首先找到能够将这两个子树连接起来的所有边,即e1∈{(u,v)∣u∈T1&v∈T2}e_1∈\{(u,v)|u∈T_1\&v∈T_2\}e1​∈{(u,v)∣u∈T1​&v∈T2​},再在这些边中找一个权值最小的边,即min(e1.weight)min(e_1.weight)min(e1​.weight),则{e1}+T0−{e0}=T1\{e_1\}+T_0-\{e_0\}=T_1{e1​}+T0​−{e0​}=T1​就是新图的最小生成树,最坏情况下需要遍历图中剩余所有的边,所以时间为O(E)O(E)O(E)。

  2. 给定一幅加权图GGG以及它的最小生成树。向GGG中添加一条边eee,如何在与VVV成正比的时间内找到新图的最小生成树。
       添加一条边eee,我们首先直接将eee加入当前最小生成树T0T_0T0​集合中,此时必然会在T0T_0T0​中产生一个环,假设eee连接的顶点为x,yx,yx,y,则我们接下来要找出这个环,分别从x,yx,yx,y出发在T0T_0T0​中进行深度优先搜索DFSDFSDFS,当搜索到同一个结点时所经过的结点就是该环上的结点 ,根据环上的结点对判断边权值,将这个环中最大权值的边eme_mem​从T0+{e}T_0+\{e\}T0​+{e}中删去,由此得到的T0+{e}−{em}=T1T_0+\{e\}-\{e_m\}=T_1T0​+{e}−{em​}=T1​就是新图的最小生成树,需要的时间取决于换上的结点数,最坏情况下要搜索所有的结点,即时间为O(V)O(V)O(V)。

  3. 使用DijkstraDijkstraDijkstra算法解决加权有向图中的多起点最短路径问题,其中边的权重均为正:给定一组起点,找到相应的最短路径森林并实现一个方法为用例返回从任意起点到达每个顶点的最短路径。

       对于每个终点,由于有多个起点,每个起点到达终点都有一条最短路径,我们需要找到这些最短路径中的最短的一条,则可以将由边u→vu→vu→v视为v→uv→uv→u,但权值不变,即将终点视为新的起点,这样只需要对新的起点运行一次DijkstraDijkstraDijkstra算法即可找出该点到所有顶点的最短路径,对应的新的起点到原起点的最短路径集合即为最短路径森林,其中最短的一条即为原起点到每个顶点的最短路径。

  4. 给定一组边的权重均为正的有向图和两个没有交集的顶点集SSS和 TTT,找到从SSS中的任意顶点到达TTT中的任意顶点的最短路径。要求设计的算法在最坏情况下所需的时间应该与Elog⁡VE\log VElogV成正比。
       使用DijkstraDijkstraDijkstra算法,将SSS顶点集视作一个开始顶点S′S'S′,TTT顶点集视作一个目的顶点T′T'T′,对于顶点集外部的顶点,所要找的最短路径,即为S′S'S′与顶点集外部顶点和T′T'T′所构成的图中的S′⇝T′S'\leadsto T'S′⇝T′最短路径。
       将SSS集合中所有与不属于SSS集合的顶点直接相连所构成的边视为由S′S'S′出发的边,将TTT集合中所有与不属于TTT集合的顶点直接相连所构成的边视为到达T′T'T′的边,则只需运行一遍DijkstraDijkstraDijkstra算法即可得到一条最短路径,最短路径中由S′S'S′出发的边在SSS顶点集中的顶点即为出发点,到达T′T'T′的边在TTT顶点集中的顶点即为终点,分别替换最短路径中的S′,T′S',T'S′,T′即为题目要求的最短路径。
       设边数为E,顶点数为V,则运行一次DijkstraDijkstraDijkstra算法所需时间为O(Elg⁡V)O(E\lg V)O(ElgV),找出S、TS、TS、T顶点集中的出发点和目的点需要时间O(V)O(V)O(V),所以最坏情况下需要O(Elg⁡V+V)O(E\lg V+V)O(ElgV+V)

相关内容

热门资讯

猫接纳你有哪些表现? 猫接纳你有哪些表现?虽然大家都说你就是个铲屎的,但实际在猫咪的眼里你还是跟他有感情的,但大猫就基本不...
如何让你成为职场精英 如何让你成为职场精英1.精英有良好的思维   他们也许不一定拥有高智商, 但他们的智商全都是高于平均...
杜聿明妻子儿女结局 杜聿明妻子... 杜聿明妻子儿女结局 杜聿明妻子儿女怎么样了1、1981年5月7日,杜聿明在北京逝世,享年77岁。杜聿...
五石之瓠的翻译(五石之瓠 五石之瓠的翻译(五石之瓠1、原文惠子谓庄子曰“魏王贻我大瓠之种,我树之成,而实五石以盛水浆,其坚不能...
推荐几个三国策略游戏,除了三国... 推荐几个三国策略游戏,除了三国志和三国群英传!真三国无双系列(动作类)三国群侠传(角色扮演类)三国立...
森林里有哪些动物会唱歌,特点是... 森林里有哪些动物会唱歌,特点是什么急用布谷鸟 唱的的是:布谷 布谷.描写举例如下:树上住着一只小黄莺...
火力少年王3真人版中人物的真实... 火力少年王3真人版中人物的真实资料姚杰--唐沸潮凌亮--郭鑫罗莉--宋文超毕家乐--张琛叶霜--王淑...
心事未了则为了之。 意思是什么... 心事未了则为了之。 意思是什么啊我心事,还没有解决呢如果还有想做的事,那就去做吧!就是这个意思。心事...
天涯明月刀真正的结局到底是什么... 天涯明月刀真正的结局到底是什么啊?周婷、明月心死亡。燕南飞为孔雀翎所杀,叶开和南宫翎成亲,傅红雪孤独...
专升本一般考多少分? 专升本一般考多少分?根据近年情况看,统招专升本的录取分数线文科一般在250—300分,理科一般在17...
淘宝的评论有礼,只要有评价内容... 淘宝的评论有礼,只要有评价内容,中差评也会有礼吗?是的,字数要达到要求!是的,只要达到要求,中差评也...
《武林外传》七侠镇善人称号是怎... 《武林外传》七侠镇善人称号是怎么得来的?好像是客栈前的乞丐,他问你要1金,给他就有了不是哦。楼上说的...
怎么用ps把照片中光照部分去除 怎么用ps把照片中光照部分去除没什么好的办法了,光照处过曝了还原不出纹理(可通过曲线和色阶把亮度调的...
步步高点读机T600的主要概述 步步高点读机T600的主要概述产品T600是步步高在09年推出的一款定位中端的点读机型,兴趣是最好的...
高中作文的好标题8字 高中作文的好标题8字初中·初衷 这个很有意义
44半妖倾城 不知道为什么 44半妖倾城 不知道为什么  对男一无感觉哎,哎,还是喜欢幽铜,感觉女主和他好般配,有谁给我一样想法...
带有相成语有哪些 带有相成语有哪些带有相的成语有这些;相濡以沫、教学相长、面面相觑、生死相依、相亲相爱、相安无事、相持...
丽思卡尔顿首家Safari营地... 一直以来,非洲都是每一个探险家无法回避的宿命之地。 作为世界上最后一块尚未开发的大陆,原始的自然风光...
功德和福德有何区别?我们去寺院... 功德和福德有何区别?我们去寺院做义工算不算功德?放生,印经书算不算功德?没有什么区别的。心中有佛!多...
中国第一个“被摘牌”5A的景区... 这两年,全球人都流行来中国旅游,这成了大家必不可少的体验。 随着全球化发展,中国旅游资源宣传得越来越...