java - 回溯算法最大化两个房间中的盒子数量

标签 java algorithm artificial-intelligence backtracking

我们有两个特定大小的房间(我们称之为体积)。我们有很多盒子,必须放在两个房间里。盒子有一定的尺寸,我们不能将任何盒子堆叠在一起。我们的目标是使用回溯算法最大化两个房间中盒子的数量。请问有什么建议吗?

最佳答案

我想我的建议是将其视为树或图结构中的搜索问题。你需要做的就是不断尝试不同的路径并保存“最佳解决方案”。然而,这最终可能会尝试所有的可能性,并且时间复杂度为 O(n!)。因此,我建议您使用某种修剪或逻辑,以免出现这种情况。即 Alpha-Beta 或一旦超过某些规范就不再使用路径。

关于java - 回溯算法最大化两个房间中的盒子数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61468412/

相关文章:

java - 建立移动网站

java - 复制到带有字符串的类时出现空指针异常

java - 获取下个月的第一天

java - 在 Web 容器外的 Java 6 中使用 Guice 3 和 JAX-WS

algorithm - 寻找最大匹配 Topcoder

algorithm - 找到项目之间距离最小的最大子集?

python - Python 中的概率字符串匹配

java - 我如何知道算法是在 O(n) 时间内运行还是在 O(nlogn) 内运行?

java - 解决卡片问题的神经网络

python - Tensorflow 错误 : ValueError: Shapes must be equal rank, 但 2 和 1 来自合并形状 1 与其他形状