首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在DFS中使用灰颜色和在CLRS中实现BFS的目的是什么?

在DFS中使用灰颜色和在CLRS中实现BFS的目的是什么?
EN

Stack Overflow用户
提问于 2016-09-20 20:54:27
回答 1查看 1.3K关注 0票数 3

在DFS和BFS的实现中,CLRS作者区分了每个顶点的3种颜色--灰色、黑色和白色。我知道黑白表示节点是否被访问。为什么我们需要灰色?

我的猜测是检测周期,但我们也能检测出只有黑白(即w/o灰色)的周期吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-20 21:04:40

主要原因是为了帮助读者更好地理解这个概念。但是有一些算法实际上利用了节点。例如,为了在有向图中查找循环,您需要灰色节点,因为有黑色邻居并不表示循环,而只有灰色邻居创建循环。

代码语言:javascript
运行
复制
A->B, B->C, A->C

A->C没有创建一个循环,尽管C是黑色的。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39603549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档