这个问题,是这个问题的一个更具体的例子:
Tree algorithm implementation 是谁被其他用户询问。
我有三个不同的列表,每个列表都有一个预定义数量的元素(64),来自枚举
enum Values
{
G0,G1,G2,G3,G4,G5,G6,G7,G8,G9,G10
}
列表:
List<Values> list1;
List<Values> list2;
List<Values> list3;
它们上的值可以随机生成:
//for each list
Random rand = new Random();
for(int i=1; i<=64; i++) listN.Add((Values)rand.Next(1,12));
我还有一个名为:
的结构struct ValuesCombination
{
List<Values> Combination { get; set; }
}
用于存储所有相关组合(使用list1
,list2
,list3
中的符号生成
我还有一个列表,其中包含所有可能的组合:
List<ValuesCombination> combinations;
一些组合示例:
combinations.Add(new ValuesCombination(){ Values.G0, Values.G0, Values.G0}); //#comb1
combinations.Add(new ValuesCombination(){ Values.G0, Values.G0});//#comb2
combinations.Add(new ValuesCombination(){ Values.G1, Values.G1});//#comb3
combinations.Add(new ValuesCombination(){ Values.G2, Values.G2});//#comb4
组合长度为2或3。
来自#comb1
的{{1}},来自G0
的{{1}}和来自list1
的{{1}}符合<G0
,
但list2
来自G0
,list3
来自#comb2
以及任何G0
来自list1
来自{G0
,我感到满意1}}
我需要什么?
根据我的组合列表,我需要计算此列表中每个组合的发生次数,从每个列表中获取一个元素。
我不需要每个组合的公式,我需要很长的路,因为我选择一支铅笔并做到这一点。
list2
我需要这个以尽可能快的速度运行,因为有了这个,我想创建一个应用程序,在我更改每个列表的值时给出每个组合的概率。
我使用visual studio 2010和c#4.0。