我实现了改组算法:
import random
a = range(1, n+1) #a containing element from 1 to n
for i in range(n):
j = random.randint(0, n-1)
a[i], a[j] = a[j], a[i]
由于这种算法有偏见。我只是想知道任何n(n≤17),是否有可能找到哪个排列具有最高的概率和哪个排列在所有可能的n中具有最少的可能性!排列。如果是的那么那个排列是什么?
例如n = 3:
a = [1,2,3]
有3 ^ 3 = 27可能的随机播放
不同排列的发生次数:
1 2 3 = 4
3 1 2 = 4
3 2 1 = 4
1 3 2 = 5
2 1 3 = 5
2 3 1 = 5
附:我对数学不太满意。