This commit is contained in:
krahets
2023-08-24 17:47:31 +08:00
parent b70b7c9e75
commit e7d6347f09
113 changed files with 7243 additions and 555 deletions

View File

@@ -26,7 +26,7 @@
<title>2.4   小结 - Hello 算法</title>
<title>2.5   小结 - Hello 算法</title>
@@ -82,7 +82,7 @@
<div data-md-component="skip">
<a href="#24" class="md-skip">
<a href="#25" class="md-skip">
跳转至
</a>
@@ -117,7 +117,7 @@
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
2.4 &nbsp; 小结
2.5 &nbsp; 小结
</span>
</div>
@@ -525,6 +525,8 @@
@@ -593,12 +595,32 @@
<li class="md-nav__item">
<a href="../iteration_and_recursion/" class="md-nav__link">
<span class="md-ellipsis">
2.2 &nbsp; 迭代与递归
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../time_complexity/" class="md-nav__link">
<span class="md-ellipsis">
2.2 &nbsp; 时间复杂度
2.3 &nbsp; 时间复杂度
</span>
@@ -618,7 +640,7 @@
<span class="md-ellipsis">
2.3 &nbsp; 空间复杂度
2.4 &nbsp; 空间复杂度
</span>
@@ -647,7 +669,7 @@
<span class="md-ellipsis">
2.4 &nbsp; 小结
2.5 &nbsp; 小结
</span>
@@ -658,7 +680,7 @@
<span class="md-ellipsis">
2.4 &nbsp; 小结
2.5 &nbsp; 小结
</span>
@@ -680,8 +702,8 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#241-q-a" class="md-nav__link">
2.4.1 &nbsp; Q &amp; A
<a href="#251-q-a" class="md-nav__link">
2.5.1 &nbsp; Q &amp; A
</a>
</li>
@@ -3368,8 +3390,8 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#241-q-a" class="md-nav__link">
2.4.1 &nbsp; Q &amp; A
<a href="#251-q-a" class="md-nav__link">
2.5.1 &nbsp; Q &amp; A
</a>
</li>
@@ -3397,7 +3419,7 @@
<h1 id="24">2.4 &nbsp; 小结<a class="headerlink" href="#24" title="Permanent link">&para;</a></h1>
<h1 id="25">2.5 &nbsp; 小结<a class="headerlink" href="#25" title="Permanent link">&para;</a></h1>
<p><strong>算法效率评估</strong></p>
<ul>
<li>时间效率和空间效率是衡量算法优劣的两个主要评价指标。</li>
@@ -3420,7 +3442,7 @@
<li>我们通常只关注最差空间复杂度,即统计算法在最差输入数据和最差运行时间点下的空间复杂度。</li>
<li>常见空间复杂度从小到大排列有 <span class="arithmatex">\(O(1)\)</span><span class="arithmatex">\(O(\log n)\)</span><span class="arithmatex">\(O(n)\)</span><span class="arithmatex">\(O(n^2)\)</span><span class="arithmatex">\(O(2^n)\)</span> 等。</li>
</ul>
<h2 id="241-q-a">2.4.1 &nbsp; Q &amp; A<a class="headerlink" href="#241-q-a" title="Permanent link">&para;</a></h2>
<h2 id="251-q-a">2.5.1 &nbsp; Q &amp; A<a class="headerlink" href="#251-q-a" title="Permanent link">&para;</a></h2>
<div class="admonition question">
<p class="admonition-title">尾递归的空间复杂度是 <span class="arithmatex">\(O(1)\)</span> 吗?</p>
<p>理论上,尾递归函数的空间复杂度可以被优化至 <span class="arithmatex">\(O(1)\)</span> 。不过绝大多数编程语言(例如 Java 、Python 、C++ 、Go 、C# 等)都不支持自动优化尾递归,因此通常认为空间复杂度是 <span class="arithmatex">\(O(n)\)</span></p>
@@ -3519,7 +3541,7 @@
<nav class="md-footer__inner md-grid" aria-label="页脚" >
<a href="../space_complexity/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 2.3 &amp;nbsp; 空间复杂度" rel="prev">
<a href="../space_complexity/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 2.4 &amp;nbsp; 空间复杂度" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
@@ -3529,7 +3551,7 @@
上一页
</span>
<div class="md-ellipsis">
2.3 &nbsp; 空间复杂度
2.4 &nbsp; 空间复杂度
</div>
</div>
</a>