floyddijkstra.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab实现Floyd算法 a = [0,9,inf 3 inf; ??? 9 0 2 inf 7; ??? inf 2 0 2 4; ??? 3 inf 2 0 inf; ??? inf 7 4 inf 0]; n = size(a,1); D = a; for i = 1:n ??? for j = 1:n ??????? R(i,j) = j; ??? end end R 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); ??????????????? R(i,j) = R(i,k); ??????????? end ??????? end ??? end ??? k ??? D ??? R end matlab实现Dijkstra算法 %Dijkstra算法实现 w = [0 2 1 8 inf inf inf inf; ??? 2 0 inf 6 1 inf inf inf; ??? 1 inf 0 7 inf inf 9 inf; ??? 8 6 7 0 5 1 2 inf; ??? inf 1 inf 5 0 3 inf 9; ??? inf inf inf 1 3 0 4 6; ??? inf inf 9 2 inf 4 0 3; ??? inf inf inf inf 9 6 3 0]; n = size(w,1); w1 = w(1,:); for i = 1:n ??? l(i) = w1(i); ??? z(i) = 1; end s = []; s(1) = 1; u = s(1); k = 1; l z while k n ??? for i = 1:n ??????? for j = 1:k ??????????? if i ~= s(j) ??????????????? if l(i) l(u) + w(u,i) ??????????????????? l(i) = l(u) + w(u,i); ??????????????????? z(i) = u; ??????????????? end ??????????? end ??????? end ??? end end l z ll = l; for i = 1:n ??? for j = 1:k ??????? if i ~= s(j) ??????????? ll(i) = ll(i); ??????? else ??????????? ll(i) = inf; ??????? end ??? end end lv = inf; for i = 1:n ??? if ll(i) lv ??????? lv = ll(i); ??????? v = i; ??? end end lv v s(k+1) = v k = k+1 u = s(k) l z 装箱问题FFD算法实现(matlab语言) %装箱问题FFD算法实现 %物品的体积 W = [0.125,0.268,0.159,0.168,0.126,0.168,0.249,0.536,0.427,0.179,0.182,0.149,0.156,0.152,0.135,0.161,0.191,0.183,0.174,0.198]; %箱子的编号 V = 1:1:20; %箱子的体积 U = [1.4,1.3,1.0,1.1]; %箱子的状态 state = zeros(20,4); %第一步:将物品体积按照从大到小排序 for i = 1:length(W) - 1 ??? for j = i + 1 :length(W) ??????? if W(i) W(j) ??????????? temp = W(i); ??????????? temp_v = V(i); ??????????? W(i) = W(j); ??????????? V(i) = V(j); ??????????? W(j) = temp; ??????????? V(j) = temp_v; ??????? end ??? end end %第二步:每次将体积最大的物品放到剩余体积最小的箱子中 for i = 1:length(W) ??? %找到剩余体积最大的箱子 ??? max = 0;%保存剩余体积最大的体积 ??? max_k = 0;%保存最大体积的箱子的编号 ??? for j = 1:length(U) ??????? if max U(j) ??????????? max =

文档评论(0)

puu81122 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档