performance - 使用回溯和分支定界的优势

标签 performance algorithm complexity-theory backtracking branch-and-bound

我知道 DP 为许多 NP 完全问题(如 TSP)提供了更好的性能。虽然需要的空间很大,但它很好地降低了复杂性。

但我无法理解分支限界和回溯与暴力搜索相比的效率。

在最坏的情况下,蛮力等于 b&b 还是回溯?

最佳答案

通过穷举搜索,您将计算所有 N!节点之间的可能路径。通过回溯,您可能会计算出访问一半节点的路线,注意到它已经比目前找到的最佳路线更昂贵,并在此时停止调查该部分路线。通过这样做,您已经跳过计算通过完成该部分路线而产生的所有路线,从而节省了穷举搜索的时间,后者将继续检查所有路线。

关于performance - 使用回溯和分支定界的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10060379/

相关文章:

android - 如何强制最大 CPU 使用率

ruby-on-rails - 将所有用户存储到 Redis 而不是编码数组的有效方法

java - 如何确定与道路相连的城市的 A* 搜索算法中的 H 成本

algorithm - List.mem 的复杂性

neural-network - 为什么尽管其复杂性低于卷积层,但在全连接层上花费的时间最多?

reactjs - 如何对 Electron 应用程序进行性能测试?

python - 为什么对于这段代码,Python 3.1 比 2.6 慢?

algorithm - 如何使四舍五入的百分比加起来等于 100%

arrays - 求数组中最大 X 个数字的总和

c++ - 返回一个数组,该数组包含的元素数量小于或等于给定数组中的元素数量