2012年4月23日

随机问题之--洗牌算法

摘要: 洗牌算法是我们常见的随机问题,在玩游戏、随机排序时经常会碰到。它可以抽象成这样:得到一个M以内的所有自然数的随机顺序数组。在百度搜“洗牌算法”,第一个结果是《百度文库-洗牌算法》:http://wenku.baidu.com/view/c4fea82658fb770bf78a55b7.html扫了一下里面的内容,很多内容都容易误导别人走上歧途,包括最后用链表代替数组,也只是一个有限的优化(链表也引入了读取效率的损失)。该文里的第一种方法,可以简单描述成:随机抽牌,放在另一组;再次抽取,抽到空牌则重复抽。“抽到空牌则重复抽”这会导致后面抽到空牌的机会越来越大,显然是不合理的。可以优化一步成:牌抽 阅读全文

posted @ 2012-04-23 21:23 JKisJK 阅读(22250) 评论(9) 推荐(7) 编辑

导航