- 在线时间
- 29 小时
- 最后登录
- 2013-2-4
- 注册时间
- 2012-7-15
- 听众数
- 5
- 收听数
- 0
- 能力
- 0 分
- 体力
- 535 点
- 威望
- 0 点
- 阅读权限
- 30
- 积分
- 211
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 99
- 主题
- 11
- 精华
- 0
- 分享
- 0
- 好友
- 15
升级   55.5% TA的每日心情 | 衰 2013-2-4 10:10 |
|---|
签到天数: 53 天 [LV.5]常住居民I
- 自我介绍
- !@#¥#@!
 |
求生成树的广度搜索代码 死循环 请高手帮忙 谢谢- function x=bfs(A,b)
/ T& K6 |+ H7 D - v=zeros(1,size(A,1)); % v(i)记录是否访问过第i个点+ h8 I% ^2 P2 I. {# ]7 g2 M1 C, I
- x=zeros(1,size(A,1)); % x存放生成树
/ b5 P' Z; m4 w- g - s=b; % s代表当前正在访问第s个点
' G- a0 i2 f4 e0 D4 x, D8 p# X' ? - x(b)=1; %从第一个点开始访问
6 h7 A& k& M& i# l! I9 r - v(s)=1; 1 ~+ T; s- R( E4 t
- while sum(v)<length(v) %当向量v中所有变量为1时,算法结束
\" `% H/ x3 c5 d8 D8 W: b7 a - t=find(A(s,:)==1); %t存放与s相连的点5 t( R# q/ O' O' I2 \
- if isempty(t) %若当前访问点是孤立的,算法结束
5 W' @\" Y& c: O' Y - disp('生成树不存在');
5 E2 z9 h7 D; x' ^% t - break;
; ~0 P1 f\" v5 j0 B - else
5 a3 e t8 f$ l5 w6 a) u - for i=1:length(t)- E# l- R' D* J R3 J& x
- if v(t(i))==0 r9 k4 N) b. a/ i& z
- v(t(i))=1;
* r& b: d: X1 x% @4 R; o9 i' Z1 h - s=t(i);
8 Q( m: t9 V8 Q& a$ l - x(s)=sum(v);
% }3 c* a' y5 ^- \\" y8 N2 l) x - end
0 I% y* e+ }- v8 v - end. q3 W- ?8 a7 ]: h U( t) J- |
- end) E/ ?' V/ ]9 a
- end
复制代码 |
zan
|