洗牌 算法

1. for i:=1 to n do swap(a[i], a[random(1,n)]);  // 凑合,但不是真正随机
2. for i:=1 to n do swap(a[i], a[random(i,n)]);   // 真正的随机算法
其中,random(a,b)函数用于返回一个从a到b(包括a和b)的随机整数。


2)的时间复杂度O(n), 空间复杂度O(1);

posted on 2013-09-09 05:02  brave_bo  阅读(159)  评论(0)    收藏  举报

导航