Re: [問題] array shuffle

看板Programming作者 (Baron Davis)時間18年前 (2007/07/20 01:41), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串7/9 (看更多)
※ 引述《ephesians (ephesians)》之銘言: : ※ 引述《xcycl (XOO)》之銘言: : S = {c,a,b} : 則可以用 : swap(S[1],S[3]),swap(S[2],S[3]) : 或 : swap(S[2],S[3]),swap(S[1],S[2]) : 來做. : 輪調三個變數要做二次,但只使用一個共用的temp變數. : 同理,上述array shuffle若對任意長度原陣列可找到一個公式化的輪調順序, : 結果就符合所求的時間與空間複雜度. 我也是用這個方法,主要idea是很久以前離散數學學過的一個permutation group 我猜應該是和前述cycle decomposition類似概念的東西 但是我之前把它寫出來後,發現不同長度時,permutation group的量不一定 比如在元素長度8時,就存在二個permutation group (註1) 但是在長度20時,就只存在一個permutation group(皆扣掉頭尾元素) 目前也想不出有沒有什麼方法可以找出那些沒交集permutation group... (註1) index 0 1 2 3 4 5 6 7 original 1 3 5 7 2 4 6 8 to 1 2 3 4 5 6 7 8 permutation group (1 2 4) (3 6 5) (2 4 1),(6 5 3) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.233.21

07/20 02:13, , 1F
是的, 算出 permutation 的 cycle 就是
07/20 02:13, 1F

07/20 02:14, , 2F
cycle decomposition
07/20 02:14, 2F
※ 編輯: BaronDavis5 來自: 59.115.233.21 (07/20 04:04)
文章代碼(AID): #16dw9GGU (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 7 之 9 篇):
1
1
1
1
文章代碼(AID): #16dw9GGU (Programming)