有向图的最短回路长度

fjsmlhx 2006-12-02 07:52:06
就是输入一个有向图的邻接矩阵,要求出它的最短回路长度
...全文
851 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
fjsmlhx 2006-12-08
  • 打赏
  • 举报
回复
已结贴,不过有一种方法,但时间复杂度较高.
就是求邻接矩阵的n次幂直到对角线出线非零值.此时n 即为最短回路长度
huhao6888 2006-12-05
  • 打赏
  • 举报
回复
BFS
OOPhaisky 2006-12-05
  • 打赏
  • 举报
回复
点击“管理”,然后给分。
fjsmlhx 2006-12-05
  • 打赏
  • 举报
回复
怎么给分啊
fjsmlhx 2006-12-04
  • 打赏
  • 举报
回复
可是好像不行,如果出现只有一个回路,且这个回路包含所有的点时没有入度为0的点啊
chenzhichao2008 2006-12-04
  • 打赏
  • 举报
回复
没有入度为零,遇到一个环了,就从入度最小点开始啊,
(3)当找不到入度为零的结点,说明这里是一个环,找一条入度最小结点解开该环,并开始记   录该环的长度L,

chenzhichao2008 2006-12-03
  • 打赏
  • 举报
回复

类似拓朴排序那样拆解吗?
==>

是的
fjsmlhx 2006-12-03
  • 打赏
  • 举报
回复
继续征求意见,最好是能够赋上代码,先谢谢大家了
fjsmlhx 2006-12-03
  • 打赏
  • 举报
回复
不是最短路径,而是最短回路
Benjaminzbj 2006-12-03
  • 打赏
  • 举报
回复
dijkstra算法(n^2)
或者floyd(n^3)
或者bellman(n^2)
fjsmlhx 2006-12-03
  • 打赏
  • 举报
回复
类似拓朴排序那样拆解吗?
fjsmlhx 2006-12-03
  • 打赏
  • 举报
回复
怎么拆解
chenzhichao2008 2006-12-02
  • 打赏
  • 举报
回复
(1) 设最长路径为minLen = -1
(2)从入度为零的结点开始对这个图进行拆解
(3)当找不到入度为零的结点,说明这里是一个环,找一条入度最小结点解开该环,并开始记   录该环的长度L,
(4)如果 (minLen == -1 || L < minLen) minLen = L;
(5)跳到(2),直到整个图拆完
fjsmlhx 2006-12-02
  • 打赏
  • 举报
回复
求求高手们相救啊
fjsmlhx 2006-12-02
  • 打赏
  • 举报
回复
在线等啊急用

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧