相关疑难解决方法(0)

使用Random和OrderBy是一个很好的shuffle算法吗?

我在Coding Horror上读过一篇关于各种shuffle算法的文章.我已经看到人们已经在某个地方对列表进行了洗牌:

var r = new Random();
var shuffled = ordered.OrderBy(x => r.Next());
Run Code Online (Sandbox Code Playgroud)

这是一个很好的shuffle算法吗?它是如何工作的?这样做是否可以接受?

c# algorithm shuffle

160
推荐指数
5
解决办法
4万
查看次数

选择满足某些属性的随机数组元素

假设我有一个名为的列表,elements每个列表都满足或不满足某些布尔属性p.我想选择一个满足p随机均匀分布的元素.我提前知道有多少物品满足这个属性p.

以下代码会这样做吗?:

pickRandElement(elements, p)
     randElement = null
     count = 0
     foreach element in elements
          if (p(element))
               count = count + 1
               if (randInt(count) == 0)
                    randElement = element

     return randElement
Run Code Online (Sandbox Code Playgroud)

(randInt(n)返回一个随机INT k0 <= k < n.)

arrays algorithm statistics probability

13
推荐指数
2
解决办法
2238
查看次数

设计一个随机化的算法从链表中选择一个元素

可能重复:
如何在未知长度的链表中选择一个统一的随机元素?

假设我们想要随机选择链表中的元素,但我们不知道链表的长度.

设计一种算法,该算法尽可能采用随机选择元素的运行时间.

algorithm

2
推荐指数
1
解决办法
260
查看次数

标签 统计

algorithm ×3

arrays ×1

c# ×1

probability ×1

shuffle ×1

statistics ×1