Tag: 权重

我需要在.net中使用称重选项的随机算法

我的.net项目中有一个要求,我需要从集合中选择一个项目,每个项目都有一个权重(整数从1到10)分配给它。 我需要一个随机生成器来考虑这个权重,即权重越高,选择对象的机会就越多。 虽然算法描述也很好,但是.net中的任何代码示例都很受欢迎。 编辑:快速复制/粘贴C#代码,以防有人偶然发现。 class RandomWeightedSelector { private List items = new List(); public void Add(T item, uint weight = 1) { for (int i = 0; i < weight; i++) items.Add(item); } public T GetRandom() { return items[new Random().Next(0, items.Count)]; } }