请大侠赐教:用深度优先遍历判断有向图是否存在回路。请写出具体程序。

 我来答
百度网友6af6295
2011-10-25
知道答主
回答量:5
采纳率:0%
帮助的人:6.3万
展开全部
int dfs(int v)
{
vis[v] = -1;
for(i = 1; i <= n; i++)
{
if(map[v][i] != 0 && !vis[i])
dfs(i);
if(map[v][i] != 0 && vis[i] == -1)
return true;
}
return false;
}

C++的。没写完整的程序,比深度优先遍历多了vis这个数组。因为直接在这里写的,可能有错误还请指正。
追问
有个疑问:如果是个有向无环图的话, if(map[v][i] != 0 && vis[i] == -1 )  return true;
是不是就不行了.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友56975bf
2011-10-25
知道答主
回答量:62
采纳率:0%
帮助的人:15.5万
展开全部
应该会有 !程序没有....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式