在连续项目中构建具有不同颜色的颜色矩阵的最佳方法

时间:2012-07-24 19:10:31

标签: asp.net .net algorithm c#-4.0

我有一个有趣的案例我在数据库中有表格,我以十六进制格式存储一些颜色。 我对此表进行查询,并从数据库中获取具有不同颜色的列表。 我需要以“矩阵样式”向用户显示查询结果,例如8行和10列。 但结果矩阵在连续项矩阵项中不应具有相同或相似的色调。 最好的方法是什么?

example of results

2 个答案:

答案 0 :(得分:1)

您可以从一个非常简单的算法开始:

  1. 随意放置所有颜色
  2. 查找错误条目(即颜色与邻居差别不大的条目)
  3. 将此条目与另一个随机位置交换(但仅当交换使事情变得更好时)
  4. 重复几次

答案 1 :(得分:1)

您正在执行平面图的Vertex Coloring。好消息是,由于你的图形是平面的,你真的只需要四种颜色,坏消息是找到颜色并不总是那么容易。但是,如果您的图表总是那么大,那么带回溯的递归解决方案可能就足够了。