least commom ancestor in general graph

看板Prob_Solve作者 (...)時間7年前 (2017/01/05 14:51), 編輯推噓4(407)
留言11則, 4人參與, 最新討論串1/1
我想要定義有向圖的LCA           G = (V,E) 1. 將圖上每一點定序,給予編號1到V 2. 一個點的父親,定義為入邊的另一個端點 fa(x) = {for all p: (p,x) in E} 3. 一個點的祖先,定義成父親0次至無限多次 anc(x) = {x, fa(x), fa(fa(x)), ...} 4. 兩個點的LCA,定義成兩家祖先的交集當中序號最大者 i 是不是就能定義有向圖的LCA? 想請教板友是否看過類似的東西? -- 最近發現dominator tree的演算法 似乎可以用一般圖的LCA來解釋 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.7.138 ※ 文章網址: https://www.ptt.cc/bbs/Prob_Solve/M.1483599077.A.AE0.html

01/05 23:13, , 1F
是不是可以先找 SCC 然後建成 DAG 再來找 LCA?
01/05 23:13, 1F

01/06 07:27, , 2F
可以呀 然後採用遞迴版DFS離開節點的逆序
01/06 07:27, 2F

01/06 07:29, , 3F
這樣就有LCA的功效了 但是我沒看過類似的東西 想問有沒有
01/06 07:29, 3F

01/06 07:29, , 4F
人看過
01/06 07:29, 4F

01/06 11:55, , 5F
在 DAG 上找 LCA https://goo.gl/Uc6hhs
01/06 11:55, 5F

01/06 11:56, , 6F
但是我覺得這跟你的問題還是不太一樣就是了..
01/06 11:56, 6F

01/06 13:42, , 7F
Euler tour?
01/06 13:42, 7F

01/06 17:10, , 8F
不太一樣 我想問的是圖上有環的LCA
01/06 17:10, 8F

01/09 15:32, , 9F
我覺得點順序還是要符合拓樸排序才合理吧(同SCC內隨意)
01/09 15:32, 9F

01/09 15:33, , 10F
不然假設x可到y但x比y大 y就直接被x吃掉了
01/09 15:33, 10F

01/09 19:42, , 11F
遞迴版DFS離開節點的逆序 --> 一般圖的拓樸順序
01/09 19:42, 11F
文章代碼(AID): #1ORUpbhW (Prob_Solve)