用于分区问题的C算法

时间:2011-03-21 21:55:34

标签: c algorithm data-partitioning

给定一组整数S:

如何将集合划分为k个部分,使每个部分的总和最小? 请同时提供C实施。

示例:

S = {1, 2, 3, 4, 5, 6} and k = 3

分区

 S1 = {1, 6}
 S2 = {2, 5}
 S3 = {3, 4}

具有每个分区之和最小的属性。

2 个答案:

答案 0 :(得分:2)

此页面很好地描述了问题,甚至为算法提供了伪代码:

http://www8.cs.umu.se/kurser/TDBAfl/VT06/algorithms/BOOK/BOOK2/NODE45.HTM

答案 1 :(得分:1)

确定给定列表中的最小值,最大值并成对。 重复直到列表用完。

直觉上似乎可以确保获得预期的结果,但是不确定!