充分利用多个线性容器空间的算法

标签 algorithm

我有一组相同大小的线性“容器”。对于这个例子,假设我有 10 个容器,最多可以容纳 28 个最大值。这些容器连续填充不同值的传入对象。对象将具有已知的最小值和最大值,对于此示例,最小值为 3.5,最大值为 15。对象的大小可以介于此最小值和最大值之间。这些元素以未知顺序离开容器。如果任何容器中没有足够的空间容纳下一个传入的对象,它将被拒绝。

我正在寻找一种最有效地利用容器空间并最大限度地减少被拒绝对象数量的算法。

最佳答案

绝对最佳解决方案将取决于实际大小、传入对象的分布等。我强烈建议将您在现实世界中体验到的真实分布设置为测试代码,并针对它尝试不同的算法。

我想尝试的明显启发式方法是始终将每个对象放入它可以容纳的最满的容器中。

关于充分利用多个线性容器空间的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19260177/

相关文章:

algorithm - 三角扇的纹理坐标

c# - 使用插入排序 C# 按第二列对交错数组进行排序

algorithm - SML 使用其他函数求平方和/二分之一

algorithm - 给定一个数字,找到通过用 2 个中较高的数字替换任何 2 个连续数字而形成的所有数字中的最小值

algorithm - 分面搜索的算法是什么?

algorithm - 提取 k 个最大的元素

c# - 确切的 Excel Days360 算法是什么?

java - 概率超过 100% 的算法

arrays - 证明或反驳 : There is a general sorting algorithm which can sort an array of length n in O(n) if it's min-heap-ordered

algorithm - 为什么我的内存计算失败了?