Algorithm Karmarkar-karp差分算法是如何工作的?
谁能给我卡马尔卡·卡普差分算法的伪代码,我不懂。如果有可视化/演示,效果会更好。您可以找到一个示例:Algorithm Karmarkar-karp差分算法是如何工作的?,algorithm,Algorithm,谁能给我卡马尔卡·卡普差分算法的伪代码,我不懂。如果有可视化/演示,效果会更好。您可以找到一个示例: 它还从按降序排列数字开始。 下面是列表[8,7,6,5,4]的排序结果 在每一步中,算法都会将两个最大的数字放在不同的子集中,同时推迟每个子集的决定。 在上面的例子中,如果我们在左子集中放置8,在右子集中放置7,这相当于在左子集中放置它们的差1,因为我们可以减去7 在不影响最终差异的情况下,从两个子集中删除。同样,第8位 在右边的子集中,7在左边的子集中,相当于在右边的子集中放置1 右子集。 该
它还从按降序排列数字开始。 下面是列表[8,7,6,5,4]的排序结果 在每一步中,算法都会将两个最大的数字放在不同的子集中,同时推迟每个子集的决定。
在上面的例子中,如果我们在左子集中放置8,在右子集中放置7,这相当于在左子集中放置它们的差1,因为我们可以减去7 在不影响最终差异的情况下,从两个子集中删除。同样,第8位 在右边的子集中,7在左边的子集中,相当于在右边的子集中放置1 右子集。 该算法删除两个最大的数字,计算它们的 差,然后像对待其他数字一样对待差 已分配,将其按排序顺序插入剩余的数字列表中。 该算法继续删除两个最大的数字,并用 它们在排序列表中的差异,直到只剩下一个数字 是最终子集差值的值 例如,给定排序后的整数(8,7,6,5,4),8和7将替换为它们的差值1,该差值插入剩余列表中,得到 在(6,5,4,1)中。接下来,将6和5替换为它们的差值1,即 (4,1,1)。将4和1替换为其差值3,给出(3,1)和 最后,这两个数字的区别是最后的子集差 共2人。 在这种情况下,KK启发式也无法找到最优划分,但比贪婪启发式做得更好
数字分区问题+1…并有选择地更新维基百科,使其读者从更好的解释中受益()。:)似乎解释得很好,特别是在最后一个图中。此页已过期