哪种数据结构和设计用于选择最佳整数集

Which data structure and design for choosing best set of integers

本文关键字:选择 最佳 整数 用于 数据结构      更新时间:2023-10-16

我需要实现一种算法,该算法从预定义的可能性中选择最佳三重(三个整数)。详细信息:

  1. 有一个枚举类别定义为:

    enum class myEnum { a6 = 0, a10, a14, a18, a119, a123, a127, a131, a135 }

这些成员可以组合在一起 {a6,a10,a14}, {a6, a14, a18}。只有11个可能的三元组(因为这里的状况并不重要)。我必须选择三倍,为每个三重成员进行一些计算,并考虑其他条件选择最佳三重。

哪种数据结构和设计最适合这11个三元组?一个三重是"使用",因此应从计算中排除或可以为每个计算完成计算,然后将其从结果中排除(没关系):

struct a6 { int value; };

typeToChoose possibleTriples = {
{
    a6, a10, a14
    a6, a10, a18
    a6, a14, a18
    a10, a14, a18    
    a119, a123, a127
    a119, a123, a131
    a119, a127, a131
    a123, a127, a131
    a123, a127, a135
    a123, a131, a135
    a127, a131, a135
}

假设{a6, a10, a14}正在使用。现在我必须迭代 possibleTriples计算结构的字段value的总和: int sumOfValues = a6.value + a10.value + a18.value;

并选择最低总和的最小三倍。{a6,a10,a14} == {a14,a10,a6}

答案只能与问题一样含糊。通常,您从最基本的方法开始:

struct Triple {
   myEnum first, second, third;
};

现在,根据您想要实现的目标,您可以通过合并封装(私人成员),某个界面,以操纵表示表示形式,算法,超载运算符等,从而有效地促进该构造,从而有效地推广该结构。