【发布时间】:2014-04-21 11:33:28
【问题描述】:
我正在为基于约束的大学考试安排实施遗传算法。为了有效地进行约束检查,我需要在评估之前包含大部分信息的数据结构。
现在我正在使用来自Guava 的Table 结构,如下所示:
Table<Integer, Integer, ArrayList<Student>> clashesMatrix = HashBasedTable.create();
这意味着我在二维矩阵中的考试 i 和考试 j 之间有共同的学生。但是现在我希望通过让学生在 3 次考试之间有共同点来更进一步,即我需要一种3D matrix。我需要这个,因为我的限制之一是为学生连续检查两到三个连续的考试,在检查限制之前拥有这种数据会更有效。
Guava 中是否有可用于此目的的特定数据结构?或者有什么方法可以改变上面的表格来满足三门考试的需求?
感谢您的帮助,因为这是我的学位论文!谢谢:)
【问题讨论】:
-
您是在寻找一个更容易 的结构来使用 - 本质上是
Map<Integer, Map<Integer, Map<Integer, ArrayList<Student>>>>? -
是的@Scott 我正在寻找更容易使用的东西。我发现 Table 很容易用于 2D 结构,但在 3D 方面我还没有找到类似的东西
标签: java data-structures guava