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

最新网址:www.88106.info
88106推荐各位书友阅读:编程之战正文 第一百三七章 随机取样(中)
(88106 www.88106.info)    “阿历克斯,这方面你最擅长,就由你来制定方案吧!”

    牛仔拍了拍杨成的肩膀。

    杨成望着眼前的二叉树森林,陷入沉思。

    在产生随机样本之前,先要设法产生单个的随机数。

    对此,大部分编程语言都提供了类似Rand的函数。

    Rand函数一般是返回0到1之间均匀分布的一个随机实数。

    杨成调出编辑器面板,开始了编写。

    第一步:

    将二叉树森林的每一棵树,编号为1到N的整数。

    目标是从中机选M个(M小于等于N)。

    第二步:

    根据Rand函数编写RandInt函数,它返回某个区间均匀分布的一个随机整数。

    第三步:

    开始编写取样算法。

    初始化空集合S。

    利用RandInt函数产生1到N之间的随机数。

    如果这个随机数,集合S中找不到,就添加进S。

    如果这个随机数,集合S中已存在,就产生新随机数,继续判断。

    整个算法持续到,集合S内元素个数等于M,达到我们的要求,终止。

    通过这三步,就能够产生M个无重复元素的随机样本。

    杨成一口气写完,长吁一口气。

    “写完了?”,牛仔关切地看着他。

    “嗯”,杨成擦了把汗。

    在他看来,这个算法有很多优点:正确,很高效,非常简洁。

    至少在他目前看来,是没办法再改进了。

    “主人”,一直在旁沉默不语的小机器人罗比突然发话了。

    “你这个算法存在一个缺陷”。88106 www.88106.info
如果您中途有事离开,请按CTRL+D键保存当前页面至收藏夹,以便以后接着观看!
最新网址:www.88106.info

如果您喜欢,请点击这里把《编程之战》加入书架,方便以后阅读编程之战最新章节更新连载
如果你对《编程之战》有什么建议或者评论,请 点击这里 发表。