为什么要在广度优先搜索中为节点着色,除了其他黑白颜色?

问题描述 投票:0回答:2

如《 CLRS》一书中所述,在执行BFS时,如果节点以前是白色的,则我们将其着色为灰色,现在将其插入队列。但是我们从不检查节点是否为灰色。那为什么我们要给节点涂成灰色呢?

graph graph-algorithm breadth-first-search
2个回答

0
投票

[第594页底部的脚注说明:“我们区分灰色和黑色顶点,以帮助我们了解广度优先搜索的工作方式。实际上,如习题22.2-3所示,即使我们没有区分灰色和黑色顶点。“

所以BFS实际上可以只用白色和黑色完成。灰色被用作帮助我们可视化算法运行方式的工具。

© www.soinside.com 2019 - 2024. All rights reserved.