24小时热门版块排行榜    

查看: 2034  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿吉大化学322求调剂 +3 17501029541 2026-03-23 4/200 2026-03-23 23:47 by Txy@872106
[考研] 291求调剂 +8 hhhhxn.. 2026-03-23 8/400 2026-03-23 23:15 by peike
[考研] 303求调剂 +4 元夕元 2026-03-20 4/200 2026-03-23 19:00 by macy2011
[考研] 上海电力大学材料防护与新材料重点实验室招收调剂研究生(材料、化学、电化学,环境) +3 我爱学电池 2026-03-23 3/150 2026-03-23 17:16 by AZMK
[考研] 306求调剂 +9 chuanzhu川烛 2026-03-18 9/450 2026-03-23 13:17 by luoyongfeng
[考研] 工科材料085601 279求调剂 +8 困于星晨 2026-03-17 10/500 2026-03-23 13:05 by 醉在风里
[考研] 263求调剂 +6 yqdszhdap- 2026-03-22 9/450 2026-03-23 12:57 by yqdszhdap-
[考研] 280分求调剂 一志愿085802 +4 PUMPT 2026-03-22 7/350 2026-03-22 22:13 by 星空星月
[考研] 311求调剂 +6 冬十三 2026-03-18 6/300 2026-03-22 20:18 by edmund7
[考研] 一志愿中南化学(0703)总分337求调剂 +9 niko- 2026-03-19 10/500 2026-03-22 16:08 by ColorlessPI
[考研] 324求调剂 +6 lucky呀呀呀鸭 2026-03-20 6/300 2026-03-22 16:01 by ColorlessPI
[考研] 318求调剂 +4 plum李子 2026-03-21 7/350 2026-03-22 14:17 by ColorlessPI
[考研] 求调剂 +3 .m.. 2026-03-21 4/200 2026-03-21 16:25 by barlinike
[考研] 299求调剂 +6 △小透明* 2026-03-17 6/300 2026-03-21 02:42 by JourneyLucky
[考研] 083200学硕321分一志愿暨南大学求调剂 +3 innocenceF 2026-03-17 3/150 2026-03-21 02:35 by JourneyLucky
[考研] 南京大学化学376求调剂 +3 hisfailed 2026-03-19 6/300 2026-03-20 23:43 by hisfailed
[考研] 一志愿武汉理工材料工程专硕调剂 +9 Doleres 2026-03-19 9/450 2026-03-20 22:36 by JourneyLucky
[考研] 086500 325 求调剂 +3 领带小熊 2026-03-19 3/150 2026-03-20 18:38 by 尽舜尧1
[考研] 【同济软件】软件(085405)考研求调剂 +3 2026eternal 2026-03-18 3/150 2026-03-18 19:09 by 搏击518
[考研] 考研求调剂 +3 橘颂. 2026-03-17 4/200 2026-03-17 21:43 by 有只狸奴
信息提示
请填处理意见