熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

第四部分 圖[5]

2013-11-15 15:21:41  來源: 數據結構 

    (三)圖的遍歷
  
  深度優先搜索
  
  Boolean Visited[AX];
  Status(*visitFunc)(intv);
  
  Void DFSTraverse(Graph GStatus (*Visit)(int V)){
  VisitFunc=Visit;
  For(v=;v<Gvexnum;++v) visited[v]=FALSE;
  For(v=;v<gvexnum;++v)
  If(!visited[v]) DFS)gV);
  }
  Void DFS(Graph Gint v){
  Visited[v]=true; visitFunc(v);
  for(w=FirstAdjVex(Gv);w>=;w=NextAdjVex(Gvw))
  if(!visited[w]) DFS(Gw);
  }
  
  廣度優先搜索
  
  void BFSTraverse(Graph GStatus (*Visit)(intv){
  //按廣度優先非遞歸遍歷圖使用隊列Q和訪問標志數組visited
  for(V=;v=Gvexnum;++v) visited[v]=false;
  InitQueue(Q);
  for(v=;v<Gvexnum;++V)
  if(!visited[v]){
  visited[v]=TRUE; visit(v);
  ENQUEUE(Q<V);
  while(!QueueEmpty(Q)){
  deQueue(Qu);
  for(W=firstAdjVex(gu); w>=;w=NextAdjVex(Guw))
  if(!Visited[w]){
  Visited[w]=TuRE; Visit(w);
  ENQueue(Qw);
  }//if
  }//while
  }//if
  }//BFSTraverse

    返回《數據結構》考研復習精編

[]  []  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/sjjg/201311/23291.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.