least commom ancestor in general graph

作者: DJWS (...)   2017-01-05 14:51:14
我想要定義有向圖的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?
想請教板友是否看過類似的東西?
作者: FRAXIS (喔喔)   2017-01-05 23:13:00
是不是可以先找 SCC 然後建成 DAG 再來找 LCA?
作者: DJWS (...)   2017-01-06 07:27:00
可以呀 然後採用遞迴版DFS離開節點的逆序這樣就有LCA的功效了 但是我沒看過類似的東西 想問有沒有人看過
作者: FRAXIS (喔喔)   2017-01-06 11:55:00
在 DAG 上找 LCA https://goo.gl/Uc6hhs但是我覺得這跟你的問題還是不太一樣就是了..
作者: ZanFu5566 (仁甫56 優質56 清新56)   2017-01-06 13:42:00
Euler tour?
作者: DJWS (...)   2017-01-06 17:10:00
不太一樣 我想問的是圖上有環的LCA
作者: aaaaajack (丁丁是個人才)   2017-01-09 15:32:00
我覺得點順序還是要符合拓樸排序才合理吧(同SCC內隨意)不然假設x可到y但x比y大 y就直接被x吃掉了
作者: DJWS (...)   2017-01-09 19:42:00
遞迴版DFS離開節點的逆序 --> 一般圖的拓樸順序

Links booklink

Contact Us: admin [ a t ] ucptt.com