箱包装有扭曲?

时间:2012-04-23 20:47:47

标签: java algorithm

我一直在努力寻找某种算法来解决我遇到的问题。我遇到的最接近的是bin打包算法,但我不认为它很安静,我正在寻找。

此文档是我的问题和预期输出的图形表示: http://www.scribd.com/doc/90871434/Rectangles

我的想法在哪里找到最低(高度)的矩形,并创建一个适合其余矩形宽度的矩形,并通过一些递归来计算其余部分。

我基本上要做的是找到最小量的垂直堆叠矩形,给定N个水平放置的矩形。

在Java中执行此操作我有一个带有输入矩形的HashMap。

任何想法,代码,链接?感谢

2 个答案:

答案 0 :(得分:2)

找到最小的矩形。

从中创建第一个生成的矩形。

确定剩余的矩形。

将算法应用于所有连续的剩余矩形组。

答案 1 :(得分:1)

我认为你应该使用分而治之

当您找到最低的矩形时,您也会分割数据集。下一个矩形或者只在左侧或右侧设置。这是递归的。