尊贵书库

字:
关灯 护眼
尊贵书库 > 编程之战 > 第一百三七章 随机取样(中)

第一百三七章 随机取样(中)

第一百三七章 随机取样(中) (第1/1页)

“阿历克斯,这方面你最擅长,就由你来制定方案吧!”
  
  牛仔拍了拍杨成的肩膀。
  
  杨成望着眼前的二叉树森林,陷入沉思。
  
  在产生随机样本之前,先要设法产生单个的随机数。
  
  对此,大部分编程语言都提供了类似Rand的函数。
  
  Rand函数一般是返回0到1之间均匀分布的一个随机实数。
  
  杨成调出编辑器面板,开始了编写。
  
  第一步:
  
  将二叉树森林的每一棵树,编号为1到N的整数。
  
  目标是从中机选M个(M小于等于N)。
  
  第二步:
  
  根据Rand函数编写RandInt函数,它返回某个区间均匀分布的一个随机整数。
  
  第三步:
  
  开始编写取样算法。
  
  初始化空集合S。
  
  利用RandInt函数产生1到N之间的随机数。
  
  如果这个随机数,集合S中找不到,就添加进S。
  
  如果这个随机数,集合S中已存在,就产生新随机数,继续判断。
  
  整个算法持续到,集合S内元素个数等于M,达到我们的要求,终止。
  
  通过这三步,就能够产生M个无重复元素的随机样本。
  
  杨成一口气写完,长吁一口气。
  
  “写完了?”,牛仔关切地看着他。
  
  “嗯”,杨成擦了把汗。
  
  在他看来,这个算法有很多优点:正确,很高效,非常简洁。
  
  至少在他目前看来,是没办法再改进了。
  
  “主人”,一直在旁沉默不语的小机器人罗比突然发话了。
  
  “你这个算法存在一个缺陷”。
『加入书签,方便阅读』
热门推荐
顶级神豪 史上最强炼气期 全职法师 大小姐她总是不求上进 许你万丈光芒好 麻衣神婿 绝代神主 我不想继承万亿家产 寒门崛起 机武风暴