3
在實施DFS和BFS時,CLRS作者爲每個頂點區分3種顏色 - 灰色,黑色和白色。我明白,黑色和白色表示節點是否被訪問過。爲什麼我們需要灰色?在CLRS中實現DFS和BFS實現灰色的目的是什麼?
我的猜測是檢測週期,但是我們是否也可以檢測只有黑色(即沒有灰色)的黑色週期?
在實施DFS和BFS時,CLRS作者爲每個頂點區分3種顏色 - 灰色,黑色和白色。我明白,黑色和白色表示節點是否被訪問過。爲什麼我們需要灰色?在CLRS中實現DFS和BFS實現灰色的目的是什麼?
我的猜測是檢測週期,但是我們是否也可以檢測只有黑色(即沒有灰色)的黑色週期?
主要原因是幫助讀者更好地理解這個概念。但是有一些算法實際上使用了灰色節點。例如,要查找有向圖中的週期,您需要灰色節點,因爲具有黑色鄰居不指示週期並且只有灰色鄰居創建週期。
A->B, B->C, A->C
A->C
並不儘管C
被黑的創建週期。