- 在线时间
- 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)
( C& m$ B! l7 Q A - v=zeros(1,size(A,1)); % v(i)记录是否访问过第i个点
( R- R T9 V; p8 s9 a - x=zeros(1,size(A,1)); % x存放生成树7 f# I4 F6 R3 S! U( y; @: t
- s=b; % s代表当前正在访问第s个点+ A: O, c9 S/ `* M, h, s
- x(b)=1; %从第一个点开始访问6 \! J( \, a) ]8 M) b1 R' Q
- v(s)=1; 7 j) P' R# ^ z& O3 {% m
- while sum(v)<length(v) %当向量v中所有变量为1时,算法结束* ?7 V/ Q2 @, W, D
- t=find(A(s,:)==1); %t存放与s相连的点
- n% I: x+ A4 M1 [ - if isempty(t) %若当前访问点是孤立的,算法结束! Y4 O! c1 d q8 F+ z9 V
- disp('生成树不存在');( S8 s9 ^& g* o# I* a# \3 J! Q: O
- break;6 l( v* r% k5 E' v3 H# _
- else! L% L6 D9 q$ F5 A
- for i=1:length(t)
) K! N0 S( y3 Z4 P V% o3 H( e6 M - if v(t(i))==0
. d: x% v k f- ^2 y\" i - v(t(i))=1;
3 Z6 G& v c0 u) p - s=t(i);
. p! a* H/ c5 i) U( B; [& [$ p9 \3 D - x(s)=sum(v);
9 }6 X, @4 N5 V& H - end
r2 S: n) ?5 o: o - end5 j O& P1 {5 r3 a! i+ J/ ?\" a
- end
1 |; l# S! t9 B - end
复制代码 |
zan
|