全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1145
推到 Plurk!
推到 Facebook!

迴圈關係解法

 
kenlee1109
初階會員


發表:20
回覆:40
積分:27
註冊:2006-08-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-09-13 03:16:36 IP:61.229.xxx.xxx 未訂閱

小弟想寫一個找出所有迴圈關係的程式.

輸入

A->B
C->D
B->E
...


想找出所有迴圈關係,直覺是用 stack 方式,但請有經驗的人指點該如何寫.
輸出

A->E->C->A
B->E->F->C->K->B
.....

將迴圈輸出.

pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-09-14 01:10:03 IP:61.62.xxx.xxx 未訂閱

典型depth-first search(DFS)的問題之一,實作上以遞迴來實作最方便(遞迴本質上也是stack完成的)

作法是:

把任一個node當root,然後作DFS,

search後,若有尚未遇到的node,則再把他當root作DFS...

...重複以上步驟直到每個node都有visit過

kenlee1109
初階會員


發表:20
回覆:40
積分:27
註冊:2006-08-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-09-15 00:35:40 IP:220.139.xxx.xxx 未訂閱

是的,這是多維樹的 search 來找迴圈,也就是每往下一層時,即 check 有沒有關係是以上節點的關係而導致的迴圈,只是,有沒有更聰明的方法,因您的方法還要建樹,謝謝你.

系統時間:2024-05-13 4:53:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!