Fw: [問題] 樹的同構 (同一個圖不同的骨架樹)

看板Prob_Solve (計算數學 Problem Solving)作者 (十公里孵到大甲)時間7年前 (2017/03/26 17:15), 7年前編輯推噓5(500)
留言5則, 2人參與, 最新討論串1/1
※ [本文轉錄自 C_and_CPP 看板 #1OrgZPb9 ] 作者: marada (十公里孵到大甲) 看板: C_and_CPP 標題: [問題] 樹的同構 (同一個圖不同的骨架樹) 時間: Sun Mar 26 01:28:53 2017 開發平台(Platform): (Ex: Win10, Linux, ...) win7 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) GCC code::blocks 問題(Question): 找正方體所有不同形狀的展開圖 餵入的資料(Input):預期的正確結果(Expected Output): 11種正方體的展開圖 錯誤結果(Wrong Output): 17種展開圖 有很多同構的樹沒刪掉 程式碼(Code):(請善用置底文網頁, 記得排版) pastbin: http://pastebin.com/xWGFkDCq 共300多行 = =" main()有50行 問題出在issave函式,issave可能重寫比較快 QQ (~100行) 補充說明(Supplement): 本魯只是會偷寫室友作業的外系生 (不過題不是作業,我也畢業了問同學不方便) 程式碼有任何問題歡迎開鞭 例如白吃的命名 dfs函數的參數超多 註解亂寫 很髒的issave 到處copypaste來的程式碼..... 程式首先用普呂佛序列生出了 K6 所有骨架樹 然後用issave刪掉同構的 最後把相鄰矩陣轉成螢幕上的樣子印出來 所以同一棵樹(一種展開圖)會經過三種型態: 1.普呂弗序列 prufer[] 1-D array 2.相鄰矩陣 int** adjmap 2-D array 3.ansMap int** mp2 2-D array 我是在(2)的地方用issave 判斷骨架樹同構 然後爆了QQ 查了一下 判斷同構好像只能用暴力法 附上wiki連出去的論文: http://unfolding.apperceptual.com/ 不過這是超立方體的展開 右上角3D models那連結會是我之後的目標 先這樣 想到什麼再用編輯補 *****************************編輯線*************************** 囧我發現我用錯名詞了 不應該說是同構 舉例: . . . . . . . . . . . . . .[5 . . . .[1[3[6[4 . . . .[2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . ---------------- 30 th map . . . . . . . . . . .[1[3 . . . . . .[2 . . . . . .[4[6 . . . . . .[5 . . . . . . . . . . . . . ---------------- 29 th map . . . .[5 . . . . . .[1[3 . . . . .[4[2 . . . . . .[6 . . . . . . . . . . . . . . . . . . . . . ---------------- 24 th map 這三個都是一直線可是形狀不一樣.... (以上是把"篩子"去掉的編號) 我是在(2)步驟弄一個mask[] 去置換點的編號 可以想像是正方體換一個方向的maping 然後把邏輯弄得有些亂.... 然後謝謝版友的資料,正在啃 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.42.172 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1490462937.A.949.html

03/26 08:19, , 1F
是否錯版
03/26 08:19, 1F

03/26 12:45, , 2F
這個應該是Prob_Solve版喔
03/26 12:45, 2F
※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: marada (118.160.41.100), 03/26/2017 17:15:53

03/26 21:31, , 3F
如果是要判斷 tree isomorphism 應該有非暴力法吧
03/26 21:31, 3F
※ 編輯: marada (118.160.41.100), 03/26/2017 23:28:52

03/27 00:58, , 5F
我想你可能要把題目定義清楚 不然版友也看不懂你在問什麼
03/27 00:58, 5F

03/27 07:38, , 6F
關鍵字 polyhedral nets
03/27 07:38, 6F

03/27 08:06, , 7F
https://ideone.com/LfPNF9 手動輸入可能比較快?
03/27 08:06, 7F
文章代碼(AID): #1OruRB0l (Prob_Solve)
文章代碼(AID): #1OruRB0l (Prob_Solve)