您现在的位置是:首页 >宏观 > 2023-08-09 19:40:15 来源:

bfs和dfs算法(dfs算法)

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

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

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