24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2061  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

木之枝

铜虫 (小有名气)

[求助] 两点间所有路径的算法,并且求出各情况路径的大小

各点 的 距离矩阵 已知,依据《图论算法及其MATLAB实现》可求得两点间 最短路径 经过的点及其大小。
现在想求两点之间 存在的所有路径,并得到各路径的大小。

如附件中所示,点1到点7的所有路径和路径长度大小。各点之间的距离已知。
两点间所有路径的算法,并且求出各情况路径的大小
1000201.png
回复此楼

» 收录本帖的淘帖专辑推荐

BE A GOOD SCHOLAR

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木之枝

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by 锐利的碎片 at 2013-10-21 10:29:51
用dfs就可以了
比如这个:
def find_all_paths(graph, start, end, path=[]):
        path = path +
        if start == end:
            return
        if not graph.has_key(start):
            re ...

因为我对MATLAB不熟,之前求最短路径是从图论书上直接查的程序存为.m文件,然后在命令窗口直接输入邻接矩阵,再输入.m文件里的函数,就得到结果了。

还想请问一下,你编的程序里面 path=[]、  return [] 的括号里需要写什么吗? 我把你的程序也存为.m文件了,但不知道怎么用啊。望解答一下,非常感谢!!!
3楼2013-10-21 15:31:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
木之枝: 金币+30, ★★★★★最佳答案, 谢谢虫友把程序写出来!非常感谢!!! 2013-10-21 15:26:33
用dfs就可以了
比如这个:
def find_all_paths(graph, start, end, path=[]):
        path = path + [start]
        if start == end:
            return [path]
        if not graph.has_key(start):
            return []
        paths = []
        for node in graph[start]:
            if node not in path:
                newpaths = find_all_paths(graph, node, end, path)
                for newpath in newpaths:
                    paths.append(newpath)
        return paths
这里图是用邻接表存的,邻接矩阵的话改下就可以了
2楼2013-10-21 10:29:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木之枝

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by 锐利的碎片 at 2013-10-21 10:29:51
用dfs就可以了
比如这个:
def find_all_paths(graph, start, end, path=[]):
        path = path +
        if start == end:
            return
        if not graph.has_key(start):
            re ...

比如各点之间的距离矩阵为
W=[0        1        2        1        2        3;
1        0        1        1        1.414        2;
2        1        0        1.414        1        1;
1        1        1.414        0        1        2;
2        1.414        1        1        0        1;
3        2        1        2        1        0];
为邻接矩阵。
怎么求点1到点6的所有路径啊?
把上面一条边 简化为 点1,下面一条边 简化为 点6.
两点间所有路径的算法,并且求出各情况路径的大小-1
无标题.png

4楼2013-10-21 16:15:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
木之枝: 金币+10, ★★★很有帮助, 谢谢! 2013-10-22 11:05:26
引用回帖:
3楼: Originally posted by 木之枝 at 2013-10-21 15:31:15
因为我对MATLAB不熟,之前求最短路径是从图论书上直接查的程序存为.m文件,然后在命令窗口直接输入邻接矩阵,再输入.m文件里的函数,就得到结果了。

还想请问一下,你编的程序里面 path=[]、  return [] 的括号 ...

这个是python写的。matlab太久不用,已经忘完了。
这是我写的用python的Networkx库计算的例子:
http://nbviewer.ipython.org/7084321
不是研究算法就直接用现成的。
5楼2013-10-21 22:07:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂求收留 +34 果然有我 2026-04-10 35/1750 2026-04-15 13:05 by 西北望—风沙
[考研] 211本科材料化工求调剂 +19 YHLAH 2026-04-11 23/1150 2026-04-14 22:25 by fenglj492
[考研] 材料相关专业344求调剂双非工科学校或课题组 +21 hualkop 2026-04-12 22/1100 2026-04-14 17:44 by lhj2009
[考研] 085600材料与化工329分求调剂 +24 叶zilin 2026-04-13 25/1250 2026-04-14 09:20 by 试管破裂
[考研] 机械还有还有名额吗?太难了 +8 笑笑袁 2026-04-10 8/400 2026-04-14 08:44 by screening
[考研] 339求调剂 +4 hanwudada 2026-04-12 4/200 2026-04-13 12:03 by 蓝云思雨
[考研] 0854调剂 +10 长弓傲 2026-04-11 11/550 2026-04-13 10:38 by wp06
[考研] 生物学调剂,一志愿西南大学348,Top期刊一区二作、二区三作,三等奖学金三次 +5 candyyyi 2026-04-09 5/250 2026-04-13 09:02 by 可淡不可忘
[考研] 0831一轮调剂失败求助 +10 小熊睿睿_s 2026-04-11 10/500 2026-04-12 22:43 by 长弓傲
[考研] 339求调剂 +8 hanwudada 2026-04-11 9/450 2026-04-12 15:36 by laoshidan
[考研] 材料与化工300求调剂 +39 肖开文 2026-04-09 43/2150 2026-04-12 01:30 by 秋豆菜芽
[找工作] 山东高校教师考核超级无底线,员工过不下去啦 +4 qut2026 2026-04-09 9/450 2026-04-12 00:54 by qut2026
[考研] 303求调剂 +14 SereinQ 2026-04-10 15/750 2026-04-11 20:43 by 蓝云思雨
[考研] 085600材料与化工329分求调剂 +16 叶zilin 2026-04-10 16/800 2026-04-11 11:04 by may_新宇
[考研] 085402通信工程调剂,有4项学科竞赛国奖(电赛国二),硕士研究生调剂自荐信。 +5 m永o不v言o弃m 2026-04-09 5/250 2026-04-11 09:33 by zhq0425
[考研] 309求调剂 +14 wdhw 2026-04-10 15/750 2026-04-10 21:06 by zhouxiaoyu
[考研] 本9 一志愿西工大085601 324求调剂 +5 wysyjs25 2026-04-10 5/250 2026-04-10 16:57 by luoyongfeng
[考研] 301求调剂 +5 149. 2026-04-10 5/250 2026-04-10 15:45 by 柴小白
[考研] 复试调剂,一志愿郑州大学材料与化工289分 +31 硕星赴 2026-04-08 31/1550 2026-04-09 16:54 by Delta2012
[考研] 二次调剂求老师收留 +3 笑笑袁 2026-04-08 3/150 2026-04-08 23:50 by 醉在风里
信息提示
请填处理意见