首页 > 试题广场 >

请解释如何实现下述算法,以处理两个或更多优先级相同的情形。也

[问答题]
请解释如何实现下述算法,以处理两个或更多优先级相同的情形。也就是说,即使有两个或更多优先级相同,你的算法也应该产生一个均匀随机排列。
PERMUTE-BY-SORTING(A)
1  n=A.length
2  let P[1...n]be a new array
3  for i=1 to n
4      P[i]=RANDOM(1,n3)
5  sort A,using P as sort keys

这道题你会答吗?花几分钟告诉大家答案吧!