开花瘊子怎么去除:谁有DFS 的算法介绍???

来源:百度文库 编辑:高校问答 时间:2024/05/03 18:34:45

Int visited[]; //初始化辅助数组,元素均为0
Void DFS(List,v,p)
{
visit(v); //访问起点
visited[v]=1; //起点已访问,0变1
while(p->link) //当存在起点的第一个邻接点时
{ p=p->link;
v=p->data;
if(!visited[v])
DFS(List,v,p); //进行递归
}
return;
}
下面是您的程序:
void DFS(List,v,p)
{
visit(v);
visited[v]=1;
while(p) //此处不该用p,应该判断它的邻接点是否存在
{
if(!visited[v])DFS(List,v,p);
p=p->link;
v=p->data; //此处的顺序肯定不对
}
return;