我有一個數組s = {'ACA','BBC','CKA',...};洗牌陣列的最佳算法
我想洗牌s。所以我創建列表A = {1,2,3,4 ..}和列表B = {1,2,3,4,...}
然後,我洗牌兩個列表。 random.shuffle(A) random.shuffle(B)
最後,我交換S [A [0]]其中s [B [0]],交換S [A [1]]其中s [B [1]] .....
該算法是否會產生s的隨機排列?它足夠隨機?假設random.shuffle產生A和B的足夠隨機排列。
這是什麼語言?爲什麼你不能只洗牌你的原始數組,而不是創建另外兩個數組,洗牌,然後用它來洗牌呢? – 2014-10-05 03:39:47
什麼是s,A和B的關係。你的問題似乎告訴了幾個問題的不足部分。 – 2014-10-05 03:40:31
s是一個非常大的字符串序列。每個字符串大約是8000字節。 A和B是序列的排列{1,2,3,... length(s)} – 2014-10-05 03:42:37