PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Prob_Solve
[問題] DFS recursive algorithm
作者:
jb679123
(straw man)
2014-12-30 01:02:29
http://ppt.cc/wxbW
附圖是用遞迴方式完成的DFS演算法
如果我們要根據演算法回傳的
d[u],f[u],pi[u],d[v],f[v],pi[v]
去判斷(u,v)是否為tree back forward 或cross edge
且要在O(1)的時間內
請問一下該怎麼判斷?
目前只想到是用color和d(u) d(v)去判斷
但題目要求要f[x]還有pi[x]
不知道這兩個要怎麼用進去
作者: fenzhang (分帳)
2014-12-30 02:44:00
DFS生成樹沒有cross edge。tree edge一定有某端是另一端父親。
作者:
scwg
( )
2014-12-30 06:28:00
樓上在 undirected graph 裡是對的, directed graph DPS是可能有 cross edge 的. 原 po: 你的作法是什麼? 複雜度是?用 color 判斷有點奇怪, 因為 DFS 跑完每個點應該都是黑色..這個判斷應該是對的, 可惜 u.color == gray 只有 DFS 到一半的時候會成立. 想想看 u.d 和 u.f 存了什麼? 怎麼用他們重建「u.color == gray」成立的「時間」?
作者:
aaaaajack
(丁丁是個人才)
2013-01-05 23:01:00
現在回好像有點遲XD 總之需要考慮各種edge的特性forward跟back edge滿足一個是另一個的ancestord跟f可以幫助你判斷這件事然後pi幫助你判斷他是不是tree edge
繼續閱讀
[問題] johnson algorithm
jb679123
[問題] 類似背包問題
cutekid
Re: [問題] 記憶遊戲 (更新暴力法解隨機翻的情況, 求正常翻的機率)
LPH66
Re: [問題] 記憶遊戲 (更新暴力法解隨機翻的情況, 求正常翻的機率)
flere
Re: [問題] 記憶遊戲 (更新暴力法解隨機翻的情況, 求正常翻的機率)
LPH66
[問題] 記憶遊戲 (更新暴力法解隨機翻的情況, 求正常翻的機率)
GenialPP
[問題] 以已知數反推其位於數列中第幾項
unsh
[問題] 一串數字中找到相同的兩個數
penknifelee
[問題] beam search
csam11000
[討論] perfect hashing
sandy4444
Links
booklink
Contact Us: admin [ a t ] ucptt.com