mirror of
https://github.com/krahets/hello-algo.git
synced 2025-07-15 04:38:30 +08:00
deploy
This commit is contained in:
@ -1681,12 +1681,12 @@
|
||||
|
||||
<h1 id="83">8.3. 小结<a class="headerlink" href="#83" title="Permanent link">¶</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>
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user