mirror of
https://github.com/krahets/hello-algo.git
synced 2025-07-19 20:55:57 +08:00
deploy
This commit is contained in:
@ -5094,7 +5094,7 @@
|
||||
<li><strong>时间</strong>:回溯算法通常需要遍历状态空间的所有可能,时间复杂度可以达到指数阶或阶乘阶。</li>
|
||||
<li><strong>空间</strong>:在递归调用中需要保存当前的状态(例如路径、用于剪枝的辅助变量等),当深度很大时,空间需求可能会变得很大。</li>
|
||||
</ul>
|
||||
<p>即便如此,<strong>回溯算法仍然是某些搜索问题和约束满足问题的最佳解决方案</strong>。对于这些问题,由于无法预测哪些选择可生成有效的解,因此我们必须对所有可能的选择进行遍历。在这种情况下,<strong>关键是如何进行效率优化</strong>,常见方法有:</p>
|
||||
<p>即便如此,<strong>回溯算法仍然是某些搜索问题和约束满足问题的最佳解决方案</strong>。对于这些问题,由于无法预测哪些选择可生成有效的解,因此我们必须对所有可能的选择进行遍历。在这种情况下,<strong>关键是如何进行效率优化</strong>,常见的效率优化方法有两种。</p>
|
||||
<ul>
|
||||
<li><strong>剪枝</strong>:避免搜索那些肯定不会产生解的路径,从而节省时间和空间。</li>
|
||||
<li><strong>启发式搜索</strong>:在搜索过程中引入一些策略或者估计值,从而优先搜索最有可能产生有效解的路径。</li>
|
||||
@ -5119,7 +5119,7 @@
|
||||
<li>旅行商问题:在一个图中,从一个点出发,访问所有其他点恰好一次后返回起点,求最短路径。</li>
|
||||
<li>最大团问题:给定一个无向图,找到最大的完全子图,即子图中的任意两个顶点之间都有边相连。</li>
|
||||
</ul>
|
||||
<p>请注意,对于许多组合优化问题,回溯都不是最优解决方案,例如:</p>
|
||||
<p>请注意,对于许多组合优化问题,回溯都不是最优解决方案。</p>
|
||||
<ul>
|
||||
<li>0-1 背包问题通常使用动态规划解决,以达到更高的时间效率。</li>
|
||||
<li>旅行商是一个著名的 NP-Hard 问题,常用解法有遗传算法和蚁群算法等。</li>
|
||||
|
Reference in New Issue
Block a user