设为首页收藏本站|繁體中文 快速切换版块

 找回密码
 立即加入
搜索
查看: 1358|回复: 2

图的遍历程序——C写的

[复制链接]

该用户从未签到

尚未签到

发表于 2009-4-25 17:07:12 | 显示全部楼层 |阅读模式
文档文案
文档文件名称: 图的遍历程序——C写的
内容简介: 图的遍历程序——C写的
所属专业方向: 电力系统
文件类型: .doc
来源:

马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!

您需要 登录 才可以下载或查看,没有账号?立即加入

×
图的遍历程序——C写的
3 D7 J) p: O" D用于配网潮流计算的

图的遍历.rar

5.58 KB, 下载次数: 14, 下载积分: 威望 -2 点, 学分 -5 点

"真诚赞赏,手留余香"
还没有人打赏,支持一下
楼主热帖
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

发表于 2009-4-25 22:23:50 | 显示全部楼层
学习了.谢谢, ^& [) D' h  M
/*全局变量:访问标志数组*/; a5 t/ m7 b6 X
int visited[M];
, N2 K5 ~+ i9 O# d, \/*访问顶点*/8 }& Z( D7 G2 z* C
void visitvex(Graph *g,int vex)
1 X. J! L- T# X/ C0 J2 m4 p{0 T+ K' w- [7 j/ E6 b+ ~
printf("%d ",g->V[vex]);+ ?. f3 z6 |9 \" ?" M2 V
}! y* n; `1 I5 M% j" U% O$ ^) a4 G9 i4 ^
& D  T, ]& z' _- R7 Z' m0 n
/*获取第一个未被访问的邻接节点*/6 S' `* J) p8 R4 Z% g( [$ B$ N
int firstadjvex(Graph *g,int vex)
3 p5 n0 K" G$ G: O: U. J& A$ ^! `9 v3 e{
& w8 X' G" m& z" V2 ^' c9 D- Sint w,i;; {7 O1 f9 Y1 l9 p
for(i=1;i<=g->vexnum;i++)3 |  ~! w1 h1 I4 w
  {
! E' E$ m# J9 n2 |2 ?3 Y$ ^  q" L( |   if(g->R[vex][i]==1&&visited[i]==0). J' b3 x/ `% h* @0 _, N3 G2 @
    {; J# }, N. \3 @# f8 x5 q
      w=i;
: y% P8 A* T% m' j- ^$ [      break;) Y, ?3 [7 g6 V: h. }
    }( ~6 m& M. s, K
   else
! N- x4 o% b+ ^% i9 r    {5 s" v0 r+ U- n1 f- o! y9 `8 z  c
      w=0;
$ h: _( {1 d( q    }
* N0 f) V3 x1 Y! T0 O5 l  }" k" T, Y7 @7 {3 _
  return w;" V/ ^7 H/ e5 r3 M2 ]2 Z; c
}
& x' q# N! a  R+ E& ^) e/*获取下一个未被访问的邻接节点(深度遍历)*/, E& ]1 w; z: [  x# `7 k3 P- p3 K1 Q
int nextadjvex(Graph *g,int vex,int w)) y) O  r1 J8 ^! S
{* g; U) V4 p' t: v  [% L, V5 r9 Q# A
  int t;8 I% l6 |/ L/ T0 F: ]
  t=firstadjvex(g,w);) u2 G- e, V# z: T
  return t;) |+ a; `1 E$ m3 ~. G% i1 Q
}, u/ Q* B0 o/ n7 ]0 _* }
/*深度递归遍历*/
, t/ y6 w" D2 V  void dfs(Graph *g,int vex)
" h' g2 R6 r6 n& _$ a" ?9 v   {5 X9 B3 g& {- U3 J  @, |9 `
    int w;
4 w% F( F3 J+ z+ |    visited[vex]=1;: E4 }* E. N* r' T  H; ?
    visitvex(g,vex);: r4 S& N" X) n9 \3 h1 S$ o5 N
    for(w=firstadjvex(g,vex);w>0;w=nextadjvex(g,vex,w))
# Q: G2 N* ^+ c  ^/ V9 c      if(!visited[w])
! ^* u/ P) I/ ]$ d( y- e) V       {, l3 j" Q" F8 \: J8 `/ ^
dfs(g,w);
: T5 d7 Z' R" \* U       }
& Q6 @! U$ ^( E: O1 W2 o* Y   }0 o( @7 K7 U9 h  ?4 I

# ~- V1 ?* u# \  q' @3 r   void dfstraverse(Graph *g)+ _, g' b+ r" q3 l9 ?. i4 E
   {2 @/ ]) t3 E' o$ }% x: V
     int i;6 n2 R7 a5 P" _2 a6 M
     for(i=1;i<=g->vexnum;i++)
" }: ]# F. ?# z       visited[i]=0;
% t5 T7 `* u3 c' D     for(i=1;i<=g->vexnum;i++)' g8 ]( O; r, Z( E# E: A
       if(!visited[i])
5 {, s, Z2 f  t% B0 `  {dfs(g,i);}& y+ L$ T) m( }3 j8 A
   }
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

发表于 2009-4-26 22:13:11 | 显示全部楼层
谢谢楼主, 我想问下您对怎么学习电力系统编程有什么意见吗? 这方面的资料好像很少
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

招聘斑竹

小黑屋|手机版|APP下载(beta)|Archiver|电力研学网 ( 赣ICP备12000811号-1|赣公网安备36040302000210号 )|网站地图

GMT+8, 2026-10-18 11:59

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表