根据权重

时间:2016-05-22 18:51:28

标签: c# algorithm distribution

我搜索过,找不到与我的问题有关的任何内容(或者无法正确地说出来),所以这里是希望。

我有100%分配一些可变数量的项目用于UI演示 - 也就是说,我没有选择它们。我希望能够指定一个权重,例如,item A的重量是item B的两倍。如果那些只有两个项目,那么我将获得的百分比将是67%和33%。如果我添加了与item C同等重要的item B,我会有50%,25%,25%。

这个问题与语言无关,但实现语言是C#,如果这有任何区别的话。

是否有适合此目的的算法?我意识到discrete distribution可以用于选择,但由于我只对报告相关项目的百分比感兴趣以供用户理解,我不是那样做的。我有兴趣投入一组重量并获得百分比。我不熟悉允许这样做的东西。

2 个答案:

答案 0 :(得分:1)

您可以使用以下公式计算百分比: 百分比=项目重要/总项目重要

答案 1 :(得分:1)

你需要有一个"重要性"附加到您的项目的因子,其值为1,2,4,因此您可以添加所有" importances"将它分成100,以获得每个重要性的百分比。然后乘以每个项目的百分比,得到每个项目的比例。

所以在你的第一个例子中,你有1和2的重要性。加在一起它们给出3. 100%/ 3是33.3%。项目A具有重要性2,因此它的百分比是2 * 33.3 = 66.7%,而项目B具有重要性1,因此它的百分比是1 * 33.3 = 33.3%

在你的第二个例子中,你有1个重要性,2个中有2个,总共有4个,100%/ 4 = 25%。为物品A,B和C提供50%,25%和25%的值。

相关问题