1

我是Cormen Intro的本科生。算法3編輯和準備決賽。算法:從DFS和BFS輸出樹作爲子圖的差異

在第22章(第603頁)中,它討論了DFS如何將前驅子圖形生成爲森林,以及BFS如何將前驅子圖形生成爲樹。我只是不明白。

我的想法:

如果頂點v是從源點s可達的,哪一個開始搜索,就不是頂點v有一定的前身(可以是不同的,但存在),無論DFS或BFS的在輸入圖上運行?也就是說,DFS和BFS都可以訪問它。

如果是這樣,DFS怎麼能夠生成一個森林,而BFS只生產一棵樹?

在此先感謝!

+0

如果BFS會生成一棵樹 - DFS也會生成。 – amit

回答

2

檢查下劃線注603頁,其中開頭的「這似乎是任意的廣度優先搜索僅限於一個來源,而深度優先搜索可以從多個源搜索...」

的源的數量是一個是樹(單根/源)而另一個是森林(多個根/源)的原因。

PS。這當然不是一些概念上的差異,而僅僅是作者的一個選擇,出於下劃線說明中所解釋的原因。