1.算法描述
1)输入:一组数据,其大小未知
2)输出:这组数据的k个均匀抽样
3)要求:
a、仅扫描数据一次
b、空间复杂性为O(k)
c、扫描到数据的前n个数字时(n>k),保存当前已扫描数据的k个均匀抽样
2.Java实现
package org.XX.com;
import java.util.*;
//水库调水抽样算法
public class Water {
//定义抽样数组大小
private static int array_size;
//定义抽样数据大小
private static int data_size;
public static void main(String[] args){
Random rd = new Random(); //生成随机数
Scanner input = new Scanner(System.in);
//抽样数据集