- 在线时间
- 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)
8 X0 c; O6 S9 j* F1 l+ x; r' B - v=zeros(1,size(A,1)); % v(i)记录是否访问过第i个点
- p4 p3 T: E* x - x=zeros(1,size(A,1)); % x存放生成树
9 a7 @ A* M* z3 t2 R, | - s=b; % s代表当前正在访问第s个点3 _; K+ R- j |\" |1 I: W
- x(b)=1; %从第一个点开始访问% {: o' J1 @; b0 k; G3 F8 y
- v(s)=1; $ q* A3 f+ \! B7 q: U
- while sum(v)<length(v) %当向量v中所有变量为1时,算法结束8 F- U! h+ o1 H; j( o: p0 o) N: X& I
- t=find(A(s,:)==1); %t存放与s相连的点% z8 U ?' i( `/ x0 l3 ]1 m$ S5 L
- if isempty(t) %若当前访问点是孤立的,算法结束* ]: o5 |, y9 u$ v* m
- disp('生成树不存在');
[, p5 S2 m- u5 Q8 W - break;
/ P7 s- R+ Y- W& e, y% M - else
c' t# i5 I/ [) `+ z B - for i=1:length(t)
( \ A2 E3 L$ {) T1 U. O - if v(t(i))==0
) ~0 j+ `# {- p& j3 O$ } - v(t(i))=1;
, L! `' S3 g\" Y% d - s=t(i); I3 k( ]4 \( [, u7 t
- x(s)=sum(v);
\" j9 u C0 {3 K0 N* H - end
$ d1 G5 ]! l$ g+ ]( B - end
: D& |, b9 ]7 d' ~* h - end c2 {# @3 e- t& L
- end
复制代码 |
zan
|