私は、私が持っている問題の世話をするある種のアルゴリズムを探すことを試みてきました。私が見つけた最も近いものは、ビンのパッキングアルゴリズムのものですが、私が探しているものは静かではないと思います。と http://www.scribd.com/doc/90871434/Rectanglesひねりを入れたビンパッキング?
私の考え最低(高さ)四角形を見つけて、残りの長方形の幅に合う四角形を作成するために、そして:
この文書は私の問題のグラフィカルな表現と予想される出力でありますいくつかの再帰が残りの部分を把握します。
私が基本的にしようとしているのは、N個の水平に配置された長方形が与えられている場合、垂直に積み重ねられた長方形の最小量を見つけることです。
Javaでこれを行うには、私は入力矩形でHashMapを持っています。
アイデア、コード、リンクはありますか?ありがとう
ああ、それは私が持っていた考え方と同じです。問題は、HashMapを通過し、最終的に正しい場所に矩形を配置するコードのアルゴリズム部分です。 – user1352234
もっと明白な表現は、左から右に配置された長方形の配列です。その表現では、上記のアルゴリズムを実装する方がずっと簡単です。最悪の場合は 'O(n * n)'であり、その平均は 'O(n log(n))'になります。そのアルゴリズムが十分に高速でない場合、私はより複雑なO(n log(n)) '最悪の場合があります。しかし複雑さはおそらく保証されません。 – btilly