DFS算法详解(dfs算法)
大家好,我是小科,我来为大家解答以上问题。DFS算法详解,dfs算法很多人还不知道,现在让我们一起来看看吧!
1、Int visited[]; //初始化辅助数组,元素均为0
2、Void DFS(List,v,p)
3、{
4、visit(v); //访问
5、visited[v]=1; //起点已访问,0变1
6、while(p->link) //当存在起点的第一个邻接点时
7、{ p=p->link;
8、v=p->data;
9、if(!visited[v])
10、DFS(List,v,p); //进行递归
11、}
12、return;
13、}
14、下面是您的程序:
15、void DFS(List,v,p)
16、{
17、visit(v);
18、visited[v]=1;
19、while(p) //此处不该用p,应该判断它的邻接点是否存在
20、{
21、if(!visited[v])DFS(List,v,p);
22、p=p->link;
23、v=p->data; //此处的顺序肯定不对
24、}
25、return;
本文到此讲解完毕了,希望对大家有帮助。