- 在线时间
- 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)
, R' X* K6 k0 h/ l6 N - v=zeros(1,size(A,1)); % v(i)记录是否访问过第i个点4 g5 Y% P: R. i\" B; M5 V
- x=zeros(1,size(A,1)); % x存放生成树2 E% d; Q) {) p! W
- s=b; % s代表当前正在访问第s个点
0 e; Q0 @1 u1 P - x(b)=1; %从第一个点开始访问
& J6 e( [9 ]: y; z9 K) Y - v(s)=1;
O\" m( \/ h9 T6 `, I - while sum(v)<length(v) %当向量v中所有变量为1时,算法结束; ?# \8 C6 z! B! T t! y1 O
- t=find(A(s,:)==1); %t存放与s相连的点
# ?: G7 {8 N2 e8 n - if isempty(t) %若当前访问点是孤立的,算法结束
$ m0 y% U: w/ P6 f\" m* b - disp('生成树不存在');& Q# w; x1 s3 f+ h7 G! \
- break;
8 z& ^9 G) _+ J% j: \, p8 u - else' e+ G4 U1 b7 a5 m. I3 ?+ w* ?+ d
- for i=1:length(t)) W( |. v. b$ P, D' {; H! z
- if v(t(i))==0
x2 J% Z4 u. |9 ]8 g* |$ Z - v(t(i))=1;
$ {& S: q! b7 d7 J6 y - s=t(i);
& z+ f) J& ~, n; D# O5 c; f6 Y\" j! }: y - x(s)=sum(v);
5 d& c. u. b+ P! T - end ~8 g' a- j% R7 T$ L
- end
: I! H4 L; F7 R - end @9 c6 M' r7 Y- o i
- end
复制代码 |
zan
|