全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
15032 9
2015-06-17
各位大神,身为一个菜鸟只好发帖求助“最短路径问题的经典算法——Floyd算法” 捕.PNG


真的不懂啊,跪求指教

%Floyd算法
%
解决最短路径问题,是用来调用的函数头文件
%[D,path]=floyd(a)
%
输入参数a是求图的带权邻接矩阵,D(i,j)表示ij的最短距离,path(i,j)表示i,j之间最短路径上顶点i的后继点
%[D,path,min1,path1]=floyd(a,i,j)
%
输入参数a是所求图的带权邻接矩阵,i,j起点终点,min1表示ij最短距离,path1为最短路径
function[D,path,min1,path1]=floyd(a,start,terminal)
D=a;n=size(D,1);path=zeros(n,n);
for i=1:n
   for j=1:n
      if D(i,j)~=inf
        path(i,j)=j;
      end
   end
end
for k=1:n
   for i=1:n
      for j=1:n
         if D(i,k)+D(k,j)<D(i,j)
           D(i,j)=D(i,k)+D(k,j);
           path(i,j)=path(i,k);
         end
      end
   end
end
if nargin==3
   min1=D(start,terminal);
   m(1)=start;
   i=1;
   path1=[ ];   
   while  path(m(i),terminal)~=terminal
      k=i+1;                              
     m(k)=path(m(i),terminal);
      i=i+1;
   end
   m(i+1)=terminal;
   path1=m;
end

请将这个以matlab语言写成的算法改写为R语言的算法(函数),并调用编写好的函数命令求解如下的V1V7的最短路径问题:

[em34]拜托拜托



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-6-22 19:19:18
楼主!!你的帖有人回复吗?你发的这道题是我们运筹学期末上机作业,全班都不会做。。。你如果有答案的话能不能给我发一份,邮箱498597298@qq.com谢谢啦!!!好人一生平安!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-6-23 20:24:10
查看igraph包中下列三个函数的程序脚本即可:
shortest.paths(graph, from, mode=c("all", "out", "in"),algorithm = c("automatic", "unweighted", "dijkstra", "bellman-ford", "johnson"))
get.shortest.paths(graph, from, to=V(graph), output=c("vpath", "epath", both"))
get.all.shortest.paths( )
average.path.length()
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-6-27 20:41:10
Doreen晨 发表于 2015-6-22 19:19
楼主!!你的帖有人回复吗?你发的这道题是我们运筹学期末上机作业,全班都不会做。。。你如果有答案的话能 ...
你们都把运筹和R结合起来用了?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-6-22 16:32:19
请问你最后做出来了吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-6-26 21:49:37
你们最后做出来了吗?可以分享一下吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群