- 在线时间
- 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)
* n% Z) F+ o/ I- I a - v=zeros(1,size(A,1)); % v(i)记录是否访问过第i个点: g7 E- q* e( t: |: j, C; u
- x=zeros(1,size(A,1)); % x存放生成树
' a. ?+ e0 K8 K3 U, M - s=b; % s代表当前正在访问第s个点
# n. a9 X# O/ V% _ - x(b)=1; %从第一个点开始访问. S/ h: _1 _8 C% c0 `
- v(s)=1; 3 Y# o$ m: `: ]
- while sum(v)<length(v) %当向量v中所有变量为1时,算法结束# h. g$ Q4 v. _2 j
- t=find(A(s,:)==1); %t存放与s相连的点
+ P* h( [5 \6 p8 B - if isempty(t) %若当前访问点是孤立的,算法结束
# n6 q, [$ {2 t+ J$ V ^& v2 q - disp('生成树不存在');
2 S# i, L6 n l$ B$ G+ j; M - break;
/ K+ `8 `8 y) d% d- w - else
8 B+ D' e( x6 }& _ - for i=1:length(t)
x ]7 \ D0 m2 U0 t7 j - if v(t(i))==05 B# r' J- V% ?5 b3 \) F0 a
- v(t(i))=1;
; T- b' S1 ?2 Q& P! A* m8 H7 x - s=t(i);
* |, E+ u+ W* `) P - x(s)=sum(v);
, ?7 w: R( y8 K- t4 B* X4 b5 [* g - end\" O& f$ Q! Z1 }# r0 E
- end x4 u6 u; F- F. `
- end
( n2 |- \+ C$ q: Z( T+ v: C4 | - end
复制代码 |
zan
|