我需要制作一个算法,通过使用尽可能少的行来对齐表格中的元素。
需要进行排序的元素应保持水平位置/对齐
像这样: [
我希望有人已经这样做了。 谢谢!
答案 0 :(得分:1)
澄清一下:我认为你的意思是每个项目必须适合一行,只有一行(它不能分成下一行),但它们可以水平移动。
启发/天真,我会这样做:
这将(相对)快速完成(介于O(nlogn)和O(n ^ 2)之间,取决于启发式“快捷方式”)但是留下了超过必要的漏洞,否则会出现非最佳解决方案。
我打赌这个问题等同于经典的NP完全问题之一https://en.wikipedia.org/wiki/Karp%27s_21_NP-complete_problems,所以你可能找不到一个好的实用的非启发式解决方案。