Divide和Conquer算法和动态规划算法有什么区别?这两个术语有何不同?我不明白他们之间的区别.
请举一个简单的例子来解释两者之间的差异以及它们看起来相似的基础.
编辑:找到了对此算法的改进.欢迎您来看看.
这个问题是我老问题的改进.现在我想向您展示Java代码示例,并更详细地解释我的算法.
我认为我找到了一个多项式算法来获得旅行商问题的精确解.我的实现是从5个步骤构建的:
我想从第2步和第3步开始,如果我没有错,我会告诉你其余部分.
所以我现在要向您展示的不是多项式算法,而是对Held-Karp算法的改进,它解决了时间问题O(n ^ 2 2 ^ n)
让我们说我们想用brout算法解决6个城市的路线.有(6-1)!= 120选项,我们需要测试它们并返回最短的路线.所以它看起来像那样(城市名称是:A,B,C,D,E,F):