最大二维子集和

时间:2011-01-25 18:41:19

标签: complexity-theory time-complexity subset subset-sum

我有一个任务是编写一个算法来计算整数矩阵的最大二维子集。 - 但是我对这种算法的帮助不感兴趣,我更感兴趣的是知道可能解决这个问题的最坏情况的复杂性。

我们当前的算法类似于O(n ^ 3)。

我一直在考虑,通过将矩阵分成若干个子矩阵,只需将矩阵中的元素相加,就可以划分和征服。从而限制了为了找到近似解而需要考虑的矩阵数。

2 个答案:

答案 0 :(得分:0)

最糟糕的情况(详尽的搜索)肯定没有更糟而不是O(n ^ 3)。网上有几种描述。

最好的情况可以好得多:O(1)。如果所有元素都是非负的,那么答案就是矩阵本身。如果元素是非正数,则答案是其值最接近零的元素。

同样,如果矩阵边缘上的整个行/列只是非正整数,则可以在搜索中将其删除。

答案 1 :(得分:0)

我认为没有更好的方法来做到这一点。 - 至少人类还不知道。 而且我会坚持使用我得到的解决方案,主要是因为它很简单。