最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

把 bfs 算法的matlab code 移植到北太天元上

2022-11-18 11:44 作者:盧朓  | 我要投稿

/*

————————————————

版權(quán)聲明:本文為CSDN博主「愛學(xué)習(xí)的一一一」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/weixin_42105848/article/details/124551006

*/

/*

我把上面的代碼移植到餓了北太天元軟件上, 你可以把下面的代碼copy

到一個(gè)文件,例如 bfsEx1.m , 然后就可以在北太天元上執(zhí)行這個(gè)腳本。?

*/

clf; close all;clc

%初始化鄰接壓縮表

b=[1 2;1 3;1 4;2 4;

? ?2 5;3 6;4 6;4 7];

m=max(b(:)); ? ? ? ? ? ? ? ?%壓縮表中最大值就是鄰接矩陣的寬與高

A=compresstable2matrix(b); ?%從鄰接壓縮表構(gòu)造圖的矩陣表示

figure(1);

netplot(A,1) ? ? ? ? ? ? ? ?%形象表示

head=1; ? ? ? ? ? ? %隊(duì)列頭

tail=1; ? ? ? ? ? ? %隊(duì)列尾,開始隊(duì)列為空,tail==head

queue(head)=1; ? ? ?%向頭中加入圖第一個(gè)節(jié)點(diǎn)

head=head+1; ? ? ? ?%隊(duì)列擴(kuò)展

flag=1; ? ? ? ? ? ? %標(biāo)記某個(gè)節(jié)點(diǎn)是否訪問過了

re=[]; ? ? ? ? ? ? ?%最終結(jié)果

while tail~=head ? ?%判斷隊(duì)列是否為空

? ? i=queue(tail); ?%取隊(duì)尾節(jié)點(diǎn)

? ? for j=1:m

? ? ? ? if A(i,j)==1 && isempty(find(flag==j,1)) ? ?%如果節(jié)點(diǎn)相連并且沒有訪問過

? ? ? ? ? ? queue(head)=j; ? ? ? ? ? ? ? ? ? ? ? ? ?%新節(jié)點(diǎn)入列

? ? ? ? ? ? head=head+1; ? ? ? ? ? ? ? ? ? ? ? ? ? ?%擴(kuò)展隊(duì)列

? ? ? ? ? ? flag=[flag j]; ? ? ? ? ? ? ? ? ? ? ? ? ?%對(duì)新節(jié)點(diǎn)進(jìn)行標(biāo)記

? ? ? ? ? ? re=[re;i j]; ? ? ? ? ? ? ? ? ? ? ? ? ? ?%將邊存入結(jié)果

? ? ? ? end

? ? end

? ? tail=tail+1; ? ? ? ? ? ?

end

A=compresstable2matrix(re);

figure (2);

netplot(A,1)

function A=compresstable2matrix(b)

? ? [n ~]=size(b);

? ? m=max(b(:));

? ? A=zeros(m,m);

? ? for i=1:n

? ? ? ? A(b(i,1),b(i,2))=1;

? ? ? ? A(b(i,2),b(i,1))=1;

? ? end

end

%函數(shù)名netplot

%使用方法輸入請(qǐng)help netplot

%無返回值%函數(shù)只能處理無向圖

%作者:tiandsp

%最后修改:2012.12.26

function netplot(A,flag)

? ? %調(diào)用方法輸入netplot(A,flag),無返回值

? ? %A為鄰接矩陣或關(guān)聯(lián)矩陣

? ? %flag=1時(shí)處理鄰接矩陣

? ? %flag=2時(shí)處理關(guān)聯(lián)矩陣

? ? %函數(shù)只能處理無向圖

? ? if flag==1 ? ? ?%鄰接矩陣表示無向圖

? ? ? ? ND_netplot(A);

? ? ? ? return;

? ? end

? ??

? ? if flag==2 ? ? ?%關(guān)聯(lián)矩陣表示無向圖

? ? ? ? [m n]=size(A); ? ? ?%關(guān)聯(lián)矩陣變鄰接矩陣

? ? ? ? W=zeros(m,m);

? ? ? ? for i=1:n

? ? ? ? ? ? a=find(A(:,i)~=0);

? ? ? ? ? ? W(a(1),a(2))=1;

? ? ? ? ? ? W(a(2),a(1))=1;

? ? ? ? end

? ? ? ? ND_netplot(W);

? ? ? ? return;

? ? end

end

? ? ? ? ? ?

function ND_netplot(A)

[n n]=size(A);

w=floor(sqrt(n)); ? ? ??

h=floor(n/w); ? ? ? ?

x=[];

y=[];

for i=1:h ? ? ? ? ? %使產(chǎn)生的隨機(jī)點(diǎn)有其范圍,使顯示分布的更廣

for j=1:w

x=[x 10*rand(1)+(j-1)*10];

y=[y 10*rand(1)+(i-1)*10];

end

end

ed=n-h*w;

for i=1:ed

x=[x 10*rand(1)+(i-1)*10];?

y=[y 10*rand(1)+h*10];

end

plot(x,y,'r*'); ? ?

title('網(wǎng)絡(luò)拓?fù)鋱D');?

for i=1:n

for j=i:n

if A(i,j)~=0

c=num2str(A(i,j)); ? ? ? ? ? ? ? ? ? ? ?%將A中的權(quán)值轉(zhuǎn)化為字符型 ? ? ? ? ? ? ?

text((x(i)+x(j))/2,(y(i)+y(j))/2,c,'Fontsize',20); ?%顯示邊的權(quán)值

line([x(i) x(j)],[y(i) y(j)]); ? ? ?%連線

end

text(x(i),y(i),num2str(i),'Fontsize',24,'color','r'); ? %顯示點(diǎn)的序號(hào) ? ? ? ? ? ?

hold on;

end

end ?

hold off;

end



把 bfs 算法的matlab code 移植到北太天元上的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
突泉县| 金平| 茂名市| 仪征市| 枣庄市| 建湖县| 津南区| 阿拉尔市| 新津县| 诸城市| 辽阳县| 柳州市| 江西省| 晋城| 双牌县| 苏尼特右旗| 阿合奇县| 毕节市| 庄河市| 宜兴市| 攀枝花市| 新沂市| 安义县| 高台县| 苍山县| 青河县| 体育| 政和县| 古蔺县| 沧源| 无锡市| 宝应县| 穆棱市| 醴陵市| 定日县| 澄江县| 固原市| 台北市| 通榆县| 睢宁县| 城步|