资源简介
写的用于求多条最短路径的删除算法,还有dijstra算法,更新最短路径树等子函数实现
代码片段和文件信息
function Pset=deletion(comksten)
Pset=zeros(klength(com));%k条最短路径集合
%*****************step 1 Dijkstra求第一条最短路径*******************%
[tree path Dist]=Dijkstra(comlength(com)sten);%first shortest path by dijkstra
%k条最短路径集合
sp_num=1;%******当前最短路径数***********
for tian=1:length(path)
Pset(sp_numtian)=path(tian);
end
oringnal_dem=length(com);
rep=[0;0];
rep_num=0;%扩展次数
N=com;
next_change_node=0;
%**********************step 2******************************%
while sp_num i=2;
stepflag=1;
while stepflag
%*********************step3 step4********************%
if (length(find(N(path(i):)1)&&isempty(find(rep(2:)==path(i)))
rep_num=rep_num+1;
rep_element=[oringnal_dem+rep_num path(i)];%*****扩展对************%
rep=[rep rep_element‘];
N=addedge(Nrep_element(2)rep_element(1)path);
next_change_node=path(i+1);
follownodeflag=i+1;
stepflag=0;
Dist=[Dist inf];
tree(rep_element(1))=-1;
%%%修改树%%%
[tree Dist]=tree_change(Ntreerep_element(1)Distst);
elseif (length(find(N(path(i):)1)&&(~isempty(find(rep(2:)==path(i))))
nodeflag=1;
j=i+1;
while nodeflag
if isempty(find(rep(2:)==path(j)))
next_change_node=path(j);
follownodeflag=j;
nodeflag=0;
else
- 上一篇:BPSK调制的simuli
nk仿真 - 下一篇:蚁群算法的matlab源码.rar
评论
共有 条评论