推 LPH66 : 關鍵字: 生成樹 (spanning tree) 03/14 00:56
→ LPH66 : 咦等等, 你只要連通不一定要唯一... 03/14 00:57
→ LPH66 : 邊數至少是 n-1 是確定的, 不過這也是必要非充份 03/14 00:58
→ LPH66 : 不過如果是想要找個演算法生成連通圖的話 03/14 01:03
→ LPH66 : 維基百科上有個對「連通塊」(connected component) 03/14 01:03
→ LPH66 : 的一種定義, 用以邊定義的等價關係表示 03/14 01:04
→ LPH66 : 其實直觀上就是「加一條邊 = 把兩塊連起來」而已 03/14 01:04
感謝大大回應
那應該可以這樣說,我在找 connected component 個數是 1 的 Graph
→ arthurduh1 : 由某個頂點 DFS 跑過一次,看能不能跑過所有頂點 03/14 09:06
→ arthurduh1 : 這樣時間複雜度 = O(|E|) 03/14 09:10
推 LPH66 : 我覺得原 PO 你要先講看看你的目的是什麼 03/14 09:17
→ LPH66 : 是數學上的條件還是單純程式上的判斷還是什麼應用 03/14 09:18
→ LPH66 : 也就是你要拿這個結果去做什麼 03/14 09:19
只是想找找有沒有相關的定理而已
當然原本遇到的問題是要生成這種 Graph
但這已經解決了,就用檢查 connected component 個數是不是一來生成即可
→ arthurduh1 : 唔 好像不是要判斷是否連通. 如果是要造出一個符合 03/14 09:22
→ arthurduh1 : 條件的邊集, 那是怎樣個連通法就很重要 03/14 09:23
可以再說得詳細一點嗎?
→ balista : graph, not graphic 03/14 16:47
好的,已訂正
推 agga : 不太清楚你的問題,照你原本所問,就v1一路連到vn就好 03/15 18:06
→ agga : 再連回來形成一個cycle就一定有你要的path 03/15 18:07
那只是其中一個,有辦法找出所有的嗎
→ wohtp : 原po你那個條件只是保證沒有孤立的點吧? 03/15 19:19
→ wohtp : 只要每一塊都大於一點,圖要裂成多少塊都可以 03/15 19:20
對阿,我的條件給錯了,內文也有說,想請問大大有什麼高見把它弄對QQ
※ 編輯: WJAider (219.68.246.149), 03/16/2017 22:26:01
推 suhorng : 要找到所有的話, 先把點全排列, 重新命名為 03/17 10:00
→ suhorng : v1 到 vn, 然後從 v1 連到 vn, 接著再隨機加入 0 條 03/17 10:00
→ suhorng : 或多條邊, 這樣可以嗎? 03/17 10:00
推 suhorng : 仔細想了一下這樣沒辦法產生所有的圖QQ 03/17 14:25
→ arthurduh1 : connected graph enumeration 有現成 library 03/17 17:51
推 vacuityhu : 你的問題看起來是只要找出一種E就好了…不過如果是 03/17 18:41
→ vacuityhu : 要找出所有可能的E而且也不考慮計算複雜度的話 03/17 18:41
→ vacuityhu : 應該可以從complete graph出發 03/17 18:41
→ vacuityhu : 拆掉一條邊測一次連通 03/17 18:41
→ vacuityhu : 這樣應該能找出所有… 03/17 18:41
→ vacuityhu : 不過這根本暴力法= =a 03/17 18:41