xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 9KB
    文件類型: .m
    金幣: 1
    下載: 1 次
    發(fā)布日期: 2021-06-14
  • 語(yǔ)言: Matlab
  • 標(biāo)簽: 最短路徑??

資源簡(jiǎn)介

已經(jīng)輸入圖的信息,運(yùn)行程序,選擇工作模式,輸入任務(wù)信息即可得到最短路徑詳細(xì)信息。兩種工作模式,一種為輸入要途徑的節(jié)點(diǎn)序列,且節(jié)點(diǎn)順序已定,程序輸出最短路徑的途徑節(jié)點(diǎn)及路徑距離。第二種為輸入要途徑的節(jié)點(diǎn)序列,但節(jié)點(diǎn)順序不定,程序自動(dòng)尋找路徑最短的任務(wù)序列,并輸出相關(guān)詳細(xì)信息。

資源截圖

代碼片段和文件信息

clear?all;
close?all;
x=[10?33?40?58?70?79?100?10?40?100?10?20?40?60?70?78?100?40?70?10?25?40?55?70?90?100?10?40?70?10?21?40?70?85?100];????
y=[100?100?100?100?100?100?100?80?80?75?70?70?70?70?70?70?70??50?60?31?31?31?31?31?31?31?15?20?20?10?10?10?10?10?10];
?%xy是假設(shè)的工位的坐標(biāo)點(diǎn)
z1=[1?1?2?3?3?4?5?5?6?7?8?9?10?11?11?12?13?13?14?15?15?16?17?18?19?20?20?21?22?22?23?24?24?25?26?27?28?29?30?31?32?33?34?];
z2=[2?8?3?4?9?5?6?15?7?10?11?13?17?12?20?13?14?18?15?16?19?17?26?22?24?21?27?22?23?28?24?25?29?26?35?30?32?33?31?32?33?34?35];

A=inf*ones(3535);
a=zeros(143);
for?i=1:43
?a(i)=abs(x(z1(i))-x(z2(i)))+abs(y(z1(i))-y(z2(i)));?
end
for?i=1:43
????A(z1(i)z2(i))=a(i);
end
for?i=1:35
?????for?j=1:35
????????????if?i>j
????????????????A(ij)=A(ji);
????????????end
?????end
end???????????%建立給定無(wú)向圖

%選擇工作模式
G=input(‘please?choose?one?way?to?work:?1?(given?order)2?(given?points):?‘);
if??G==1??????????????????%給定順序工作方式
???o=input(‘how?many?points?do?you?want?to?pass?by????‘);???%o為輸入要途徑點(diǎn)的個(gè)數(shù)
???S=zeros(1o);
???q=0;
???L=zeros(1o);
???for??i=1:o
?????????t=input(‘please?input?a?point:?‘);??
?????????if(t<0||t>35)
?????????????beep
?????????????error(‘this?is?an?error‘)
?????????end????????%輸入的數(shù)據(jù)應(yīng)合法
?????????if??t==0
?????????????break
?????????else
?????????????S(i)=t;
?????????????q=q+1;
?????????end
???end??
????????if?q???????????????disp(‘warning!?numbers?of?input?is?less?than?given‘)
???????????????break
????????end
?????
????????for???i=1:o
????????????L(i)=S(i);
????????end
else????????????%-----------------------------------------------------
????o=input(‘how?many?points?do?you?want?to?input??:?‘);???%o為輸入要途徑點(diǎn)的個(gè)數(shù)
????S=zeros(1o);????????????????????????????????????%輸入節(jié)點(diǎn)寄存矩陣
???for??i=1:o
?????t=input(‘please?input?a?point:?‘);?????????????
???????????if??t==0
?????????????break
???????????else
????????????S(i)=t;
???????????end
???end??
????s=o;
????r=1;
??while(1)???
?????if?s==0;
???????break
?????end
???????r=r*s;?????????%確定字母排序運(yùn)算的次數(shù)?
???????s=s-1;
??end
?SY=zeros(ro);??????%所有可能路徑的記錄矩陣
?[cd]=sort(S);??????%第一步,對(duì)輸入數(shù)據(jù)進(jìn)行升序排序,以便于后續(xù)使用字母排序算法,c為升序矩陣
??a=1;???????????????
??b=1;
??for?b=1:o??????????????%將排序生成的數(shù)賦給指定的矩陣,為后續(xù)dijkstra運(yùn)算提供數(shù)源(SY)
??????SY(ab)=c(b);
??end
for???time=1:r-1
???for??i=o:-1:2??????%以下部分為第三步,找出jk點(diǎn)。
???????if?c(i-1)??????????j=i-1;
?????????break
???????end
???end???????????????????????????????%找出j點(diǎn)??
????x1=j+1;????????????????????????????
????mindist1=inf;
?????for???i=x1:o?????
??????????if??c(i)c(j)????%求出比S(j)大的在S(j)后的最小值S(k)
???????????????mindist1=c(i);
???????????????k=i;??????????????
??????????end
?????end???????????????????%找出k點(diǎn)
?????
?????v=c(j);???????????????%第四步,交換jk點(diǎn)的值。my_swap.m函數(shù)已定義并存儲(chǔ)
?????c(j)=c(k);
?????c(k)=v;???????
?????m=j+1;????????????????%第五步,將j點(diǎn)后所有值對(duì)調(diào)。
?????n=o;
?????while?(m?????????v=c(m);
?????????c(m)=c(n);
?????????c(n)=v;
??????????

評(píng)論

共有 條評(píng)論