如何设计一个高效算法从N个正整数中,随机选取n个不同的随机数 n<=N

来源:互联网 发布:kk5.0软件下载 编辑:程序博客网 时间:2024/04/27 08:41

  1、若N不算大,且N>>n。可以采用数组存储1-N个数,然后运用随机函数产生一个随机数m,以m为下标的数组索引值即为所找,同时将最后一个元素赋值到该索引所在地址,然后将数组大小减少1后,再次调用随机函数产生随机数,然后又将其元素与倒数第二个交换。依次类推。

  2、若N较大,则方法1存在较大的不足就是需要耗费大量的存储空间。

0 0
原创粉丝点击