- 在线时间
- 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)% x+ p! X' G* S% }
- v=zeros(1,size(A,1)); % v(i)记录是否访问过第i个点
* x* q- Y& E( M! Z# C! V - x=zeros(1,size(A,1)); % x存放生成树( N. C. N6 e* `+ f# _
- s=b; % s代表当前正在访问第s个点
3 i, c% j' B5 w - x(b)=1; %从第一个点开始访问: \- o3 p9 O* V. e+ P5 s
- v(s)=1; , q6 ]# X( R. k! {
- while sum(v)<length(v) %当向量v中所有变量为1时,算法结束
( b4 U) m\" ^5 g! ^' X1 p - t=find(A(s,:)==1); %t存放与s相连的点
+ F2 L\" e7 D& y - if isempty(t) %若当前访问点是孤立的,算法结束
\" Z% D4 e1 T1 M - disp('生成树不存在');0 ~3 O( V0 |7 q& U8 S( Y
- break;
3 m% _+ H$ d5 N9 {7 Y+ A - else
5 @6 i\" I8 p7 h U$ a e0 T4 e - for i=1:length(t)9 j4 m6 G& M) N, a3 X
- if v(t(i))==05 y0 ^/ _; u O$ v
- v(t(i))=1;
! Z, ]' j7 P7 U# o1 b\" p3 T: z - s=t(i);
' k' w) j# _' T, M: C - x(s)=sum(v);
6 w3 g J8 O% s0 s! U: r; L - end; [) L) V& Q* y& d\" n
- end' ]6 U% h2 L7 B( G
- end/ F! g8 {1 `$ ?$ D
- end
复制代码 |
zan
|