生活问答

当前位置/ 首页/ 生活问答/ 正文

DFS算法详解(dfs算法)

导读 大家好,我是小科,我来为大家解答以上问题。DFS算法详解,dfs算法很多人还不知道,现在让我们一起来看看吧!1、Int visited[]; //初始化...

大家好,我是小科,我来为大家解答以上问题。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;

本文到此讲解完毕了,希望对大家有帮助。