This commit is contained in:
krahets
2023-04-10 03:12:10 +08:00
parent dda68e47c1
commit 9393f5957c
35 changed files with 399 additions and 544 deletions

View File

@ -1681,12 +1681,12 @@
<h1 id="83">8.3. &nbsp; 小结<a class="headerlink" href="#83" title="Permanent link">&para;</a></h1>
<ul>
<li>堆是一棵限定条件下的完全二叉树,根据成立条件可分为大顶堆和小顶堆。大(小)顶堆的堆顶元素最大(小)。</li>
<li>优先队列定义为一种具有出队优先级的队列。堆是实现优先队列的最常用数据结构</li>
<li>堆的常用操作对应时间复杂度元素入堆 <span class="arithmatex">\(O(\log n)\)</span> 、堆顶元素出堆 <span class="arithmatex">\(O(\log n)\)</span> 访问堆顶元素 <span class="arithmatex">\(O(1)\)</span> 等。</li>
<li>完全二叉树非常适合用数组表示,因此我们一般用数组来存储堆。</li>
<li>堆化操作用于修复堆的特性,在入堆和出堆操作中都会使用到。</li>
<li>输入 <span class="arithmatex">\(n\)</span> 个元素并建堆的时间复杂度可以优化至 <span class="arithmatex">\(O(n)\)</span> ,非常高效。</li>
<li>堆是一棵完全二叉树,根据成立条件可分为大顶堆和小顶堆。大(小)顶堆的堆顶元素最大(小)</li>
<li>优先队列定义具有出队优先级的队列,通常使用堆来实现</li>
<li>堆的常用操作及其对应时间复杂度包括:元素入堆 <span class="arithmatex">\(O(\log n)\)</span> 、堆顶元素出堆 <span class="arithmatex">\(O(\log n)\)</span> 访问堆顶元素 <span class="arithmatex">\(O(1)\)</span> 等。</li>
<li>完全二叉树非常适合用数组表示,因此我们通常使用数组来存储堆。</li>
<li>堆化操作用于维护堆的性质,在入堆和出堆操作中都会用到。</li>
<li>输入 <span class="arithmatex">\(n\)</span> 个元素并建堆的时间复杂度可以优化至 <span class="arithmatex">\(O(n)\)</span> ,非常高效。</li>
</ul>