看板 Math 關於我們 聯絡資訊
小弟跟朋友討論到這個問題 假設一個 Graph G(V, E), V = {v1, ..., vn} 需要生成一個 E 達成以下條件: 所有的 vi, vj in V 都存在一個 path 可以互相連通 那 E 應該有一個條件: 對所有 i in {1, ..., n} 存在 j in {1, ..., n} 使得 e(vi, vj) in E 原本是這樣想的 但是這樣會生成如下的 Graph: v1-v2-v3 v4-v5-v6 這樣 v1 跟 v4 就不連通,但符合上述條件 我想應該是少了一個條件 想請問圖論之中有沒有相關定理闡述這件事情的? 跪求各位大大指點 Q_Q -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.246.149 ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1489423806.A.0FA.html
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
LPH66 : http://tinyurl.com/nej6ys9 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