码迷,mamicode.com
首页 > 编程语言 > 详细

一步两步学算法之图的深度搜素

时间:2015-05-07 13:54:21      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

DFS 与BFS 的不同之处 直接采用递归 从一个点的邻点直接向下搜索 而不是一个点的所有邻点 。可以把BFS想成一张网  DFS相当于一条路走到黑走不通再换别的路

DFS比BFS更容易理解

 1 void DFSraverse(MatrixGraph *G)
 2 {
 3     int i;
 4     for(i=0;i<G->VertexNum;i++)
 5         G->IsTrav[i]=0;
 6     printf("深度优先遍历节点");
 7     for(i=0;i<G->VertexNum;i++) 
 8         if(!G->IsTrav[i])
 9             DFSM(G,i);
10     printf("\n");
11     
12 }
13 
14 void BFSM(MatrixGraph *G,int i)
15 {
16     int j;
17     G->IsTrav[i]=1;
18     printf("->%c",G->Vertex[i]);
19     for(j=0;j<G->VertexNum;j++)
20         if(G->Edges[i][j]!=MAXVALUE &&!G->IsTrav[i])
21         {
22             DFSM(G,j);
23         }
24 }

 

一步两步学算法之图的深度搜素

标签:

原文地址:http://www.cnblogs.com/threezj/p/4484413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!