24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2064  |  回复: 5

木之枝

铜虫 (小有名气)

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

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

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

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

BE A GOOD SCHOLAR

» 猜你喜欢

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

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

锐利的碎片

木虫 (正式写手)

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 ...

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

还想请问一下,你编的程序里面 path=[]、  return [] 的括号里需要写什么吗? 我把你的程序也存为.m文件了,但不知道怎么用啊。望解答一下,非常感谢!!!
3楼2013-10-21 15:31:15
已阅   回复此楼   关注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的回帖

木之枝

铜虫 (小有名气)

引用回帖:
5楼: Originally posted by 锐利的碎片 at 2013-10-21 22:07:32
这个是python写的。matlab太久不用,已经忘完了。
这是我写的用python的Networkx库计算的例子:
http://nbviewer.ipython.org/7084321
不是研究算法就直接用现成的。...

看不懂,我查查资料看能直接用不。谢谢!
6楼2013-10-22 11:06:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 木之枝 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 327求调剂 +25 Xxjc1107. 2026-04-13 27/1350 2026-04-15 23:22 by Equinoxhua
[考研] 297,工科调剂? +10 河南农业大学-能 2026-04-14 10/500 2026-04-15 21:50 by noqvsozv
[考研] 一志愿A区211,22408 321求调剂 +6 随心所欲☆ 2026-04-15 7/350 2026-04-15 21:45 by lbsjt
[考研] 0854调剂 +13 长弓傲 2026-04-12 16/800 2026-04-15 13:45 by fenglj492
[考研] 药学305求调剂 +7 玛卡巴卡boom 2026-04-11 7/350 2026-04-15 13:21 by 西北望—风沙
[考研] 366求调剂 +11 不知名的小卅 2026-04-11 11/550 2026-04-14 15:50 by zs92450
[考研] 105500药学求调剂 +4 x_skys 2026-04-12 4/200 2026-04-14 13:37 by rndfc
[考研] 085408光电信息工程专硕355一志愿长春光机所调剂 +6 王ymaa 2026-04-13 13/650 2026-04-14 11:33 by 王ymaa
[考研] 085404 298分求调剂 +11 呼啦呼啦呼呼呼 2026-04-10 12/600 2026-04-14 08:38 by wfj257
[考研] 一志愿中南大学 0855 机械 286 求调剂 +11 不会吃肉 2026-04-12 11/550 2026-04-13 21:59 by bljnqdcc
[考研] 346分,工科0854求调剂,专硕 +6 moser233 2026-04-12 7/350 2026-04-12 22:11 by fqwang
[考研] 求调剂 +16 张番茄不炒蛋 2026-04-10 17/850 2026-04-12 13:58 by 熬夜成!
[考研] 本科南方医科大学 一志愿985 药学学硕284分 求调剂 +5 弱水听文 2026-04-09 5/250 2026-04-12 13:16 by shengxi123
[考研] 药学专硕调剂 +8 ? 一路生?花? 2026-04-10 10/500 2026-04-11 21:21 by zhouxiaoyu
[考研] 303求调剂 +14 SereinQ 2026-04-10 15/750 2026-04-11 20:43 by 蓝云思雨
[考研] 本人女孩 +7 吼吼, 2026-04-10 9/450 2026-04-11 14:45 by ACS Nano——
[考研] 085600材料与化工329分求调剂 +16 叶zilin 2026-04-10 16/800 2026-04-11 11:04 by may_新宇
[考研] 087100初试311求调剂 +4 任雅琴 2026-04-09 4/200 2026-04-11 10:33 by zhq0425
[考研] 281求调剂 +11 觉得好的吧 2026-04-10 11/550 2026-04-11 09:35 by 逆水乘风
[考研] 一志愿东北大学控制工程085406数二英二385,求调剂 +8 Ezra_Zhang 2026-04-09 8/400 2026-04-11 09:15 by 猪会飞
信息提示
请填处理意见