社区
数据结构与算法
帖子详情
如何求连通图的最短遍历路径
cthliao
2008-08-28 03:44:28
有N个村庄,相互之间有道路连接,我们可以看作是一个带权的连通图(村庄为结点,道路为边)。
有个领导要下乡视察,要求每个村都至少走过一次。(结点或边都可以重复经过)
试求这个领导视察所有村庄要走的最短路程。
如果包含以下一个或多个条件(不冲突的话),同样求最短路程
1、出发的结点已经明确。
2、出发的结点可以任意选择。
3、所有的村庄都走一遍后要返回出发点才算路程结束。
4、最后可以停在任意一个点上。
大家注意,这个可不是最小生成树问题了,有点类似于一笔画。
...全文
3658
8
打赏
收藏
如何求连通图的最短遍历路径
有N个村庄,相互之间有道路连接,我们可以看作是一个带权的连通图(村庄为结点,道路为边)。 有个领导要下乡视察,要求每个村都至少走过一次。(结点或边都可以重复经过) 试求这个领导视察所有村庄要走的最短路程。 如果包含以下一个或多个条件(不冲突的话),同样求最短路程 1、出发的结点已经明确。 2、出发的结点可以任意选择。 3、所有的村庄都走一遍后要返回出发点才算路程结束。 4、最后可以停在任意一个点上。 大家注意,这个可不是最小生成树问题了,有点类似于一笔画。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wode447815936
2009-06-13
打赏
举报
回复
请问这个算法找到了没?
Tippisum
2009-06-13
打赏
举报
回复
我记得这东西叫做TSP,
典型的NP问题。
可以考虑空间换时间,用宽度优先搜索。
设有k个村庄。
设一个队列,从某个出发点开始,执行宽度优先搜索,最多走2k步(可以证明,如果图是联通的,不会超过2k步)
每个节点记录路径和长度。注意路径中的环不重复进入。
2k步结束后,查找队列中所有访问了全部村庄的路径,计算最优解。
bigbug9002
2009-06-13
打赏
举报
回复
用非递归的深度优先遍历,遍历过程中找出所有的环,算出最短的环。
0、设一栈,用来存放访问过的顶点,设一标志数组来标记顶点是否访问过,设一变量max存放最短长度的环,max=MAX_INT。设一队列存放路径,
1、从顶点x开始,如果x没有被访问过,访问这个顶点,即在标志数组中对应元素打标志,如果访问过,转3.
2、x入栈。
3、找一没有访问过的x的邻接点,如果找到,x=x的邻接点,转1。如果没有找到转4。
4、从栈底开始向栈顶方向扫描一遍,看栈内的点有没有和x邻接的点。如果有,设这个点是y,表明从y到x构成了一个环,计算 y到x路长,如果比max小,存入max,并清空队列,把栈中从y到x中连续存放的顶点放入队列。转5.
5、如果栈不空,出栈。
6、如果栈内还有元素,就把栈顶赋给x 。转1.否则算法结束。
队列中存放的顶点,都可以是出发点。
da00xiong1985
2009-03-16
打赏
举报
回复
找过好像没有哦~
superxiaomm
2008-10-14
打赏
举报
回复
1
我觉得可以用贪心算法来算,先一看以为是最小欧拉,原来不是
我觉得可以这样做,每次从起点去到他能到达的最小路径下个顶点,用floyd算法很容易得到每两个顶点的最小路径,从最小的出发,每次取最短路径的最小顶点。
wangyunfei921
2008-10-11
打赏
举报
回复
《算法引论》,有类似的题
wenzituo
2008-10-11
打赏
举报
回复
四个小条件的解法一样
都是一个np问题,旅行商问题的变种,可以用遗传算法,或者是模拟退火来实现,如果是小数据穷举也是不错的选择
还有推荐一本书叫《算法引论》,上面有详细讲解以上几种算法。
或者你级别高也可以看《计算机编程艺术》,那几本书很变态,什么都有。
xiaozha007
2008-10-11
打赏
举报
回复
穷搜呗
先确定出所有排列
一一搜索
所到没有连接的就返回搜下一个
如果搜完一个,记录下值
然后。。。。。。
求
连通
图
的所有深度优先
遍历
序列
在
图
论中,
连通
图
基于
连通
的概念。在一个无向
图
G 中,若从顶点vi到顶点vj有
路径
相连(当然从vj到vi也一定有
路径
),则称vi和vj是
连通
的。如果 G 是有向
图
,那么连接vi和vj的
路径
中所有的边都必须同向。如果
图
中任意两点都是
连通
的,那么
图
被称作
连通
图
。如果此
图
是有向
图
,则称为强
连通
图
(注意:需要双向都有
路径
)。
图
的
连通
性是
图
的基本性质。 ...
德国120个城市的最
短
旅行商回路
德国120个城市的最
短
旅行商回路TSP问题
无向
图
,
连通
图
https://blog.csdn.net/kongduxue/article/details/81432270 https://blog.csdn.net/qq_33913037/article/details/71213985 **一、
图
(Graph)**是由顶点(vertex)的有穷非空集合和顶点之间边(edge)的集合组成,通常表示为:G(V,E),其中,G表示一个
图
,V是
图
G中顶点的...
图
9——
求
距离顶点v0的最
短
长度为k的所有顶点
设计算法
求
出无向
连通
区
图
中距离顶点v0的最
短
路径
长度(最
短
路径
长度以边数为单位计算)为K的所有顶点,要
求
尽可能的节省时间。 【分析】这是西北大学考研试题。本题应用广度优先
遍历
求
解,若以v0作为生成树的根为第1层,则距离顶点v0最
短
路径
长度为K的顶点均在第K+1层。可用队列存放顶点,将
遍历
访问顶点的操作改为入队操作。队列中设头尾指针分别为f和r,用level表示层数。 主要考查
图
的
遍历
。可以采...
使用并查集解决
遍历
所有点
求
最
短
路径
问题——
路径
压缩
并查集解决最
短
路径
数据结构与算法
33,025
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章