#关于Java编程的问题# 编程给出的要求的是从数值为 total 的总数中等概率地随机取出 k 个数,但是图中的编程看起来只能保证随机,不能保证等概率,请问这个等概率是怎么体现的呢?
这段程序实现的是对数组array中的数进行随机排列的操作,而等概率的体现在于每次循环时都会将当前数与随机生成的数进行交换,这样就能保证每个数都有相同的机会被随机到。在取前k个数时,由于每个数都是等概率随机出来的,所以取出来的k个数也是等概率的。