mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-13 17:09:46 +08:00
deploy
This commit is contained in:
@@ -1719,7 +1719,7 @@
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
8.3 Top-K 问题
|
||||
8.3 Top-k 问题
|
||||
</span>
|
||||
|
||||
|
||||
@@ -3442,9 +3442,9 @@
|
||||
<!-- Page content -->
|
||||
<h1 id="147">14.7 小结<a class="headerlink" href="#147" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>动态规划对问题进行分解,并通过存储子问题的解来规避重复计算,提高 计算效率。</li>
|
||||
<li>动态规划对问题进行分解,并通过存储子问题的解来规避重复计算,提高计算效率。</li>
|
||||
<li>不考虑时间的前提下,所有动态规划问题都可以用回溯(暴力搜索)进行求解,但递归树中存在大量的重叠子问题,效率极低。通过引入记忆化列表,可以存储所有计算过的子问题的解,从而保证重叠子问题只被计算一次。</li>
|
||||
<li>记忆化递归是一种从顶至底的递归式解法,而与之对应的动态规划是一种从底至顶的递推式解法,其如同“填写表格”一样。由于当前状态仅依赖某些局部状态,因此我们可以消除 <span class="arithmatex">\(dp\)</span> 表的一个维度,从而降低空间复杂度。</li>
|
||||
<li>记忆化搜索是一种从顶至底的递归式解法,而与之对应的动态规划是一种从底至顶的递推式解法,其如同“填写表格”一样。由于当前状态仅依赖某些局部状态,因此我们可以消除 <span class="arithmatex">\(dp\)</span> 表的一个维度,从而降低空间复杂度。</li>
|
||||
<li>子问题分解是一种通用的算法思路,在分治、动态规划、回溯中具有不同的性质。</li>
|
||||
<li>动态规划问题有三大特性:重叠子问题、最优子结构、无后效性。</li>
|
||||
<li>如果原问题的最优解可以从子问题的最优解构建得来,则它就具有最优子结构。</li>
|
||||
|
||||
Reference in New Issue
Block a user