2

データベースにテーブルがあり、色を16進形式で保存する興味深いケースがあります。このテーブルにクエリを実行し、データベースから異なる色のリストを取得します。たとえば、8行10列などの「マトリックススタイル」でユーザーにクエリ結果を表示する必要があります。ただし、結果のマトリックスは、隣接するアイテム マトリックス アイテムで同じまたは類似の色相を持つべきではありません。それを行う最良の方法は何ですか?

結果の例

4

2 に答える 2

1

非常に単純なアルゴリズムから始めることができます。

  1. すべての色をランダムに配置します
  2. 悪いエントリ(つまり、色が隣人とあまり変わらないエントリ)を見つけます
  3. このエントリを別のランダムな場所と交換します(ただし、交換によって状況が改善される場合のみ)
  4. 数回繰り返す
于 2012-07-24T19:45:36.997 に答える
1

平面グラフの頂点カラーリングを行っています。良いニュースは、グラフは平面であるため、実際には 4 色しか必要ないということです。悪いニュースは、カラーリングを見つけるのが必ずしも簡単ではないということです。ただし、グラフが常にそのサイズである場合は、バックトラッキングを使用した再帰的なソリューションでおそらく十分です。

于 2012-07-24T23:03:45.823 に答える