產生均勻隨機排列數組

假設給定一個數組A,它包含元素1到n,我們的目標是構造這個數組的一個隨機排列

方法一

Permute-by-sorting(A)
1 n<-length[A]
2 for i<- 1 to n
3 do P[i]=RANDOM(1,n*n*n)
4 sort A, using P as sort keys
5 return A

方法二

Randomize-in-place(A)
1 n<- length[A]
2 for i <-1 to n
3 do swap A[i]<-> A[RANDOM(i,n)]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章