This commit is contained in:
krahets
2023-11-09 05:13:54 +08:00
parent 9a09f9407e
commit 3f666fa676
85 changed files with 619 additions and 610 deletions
+1 -1
View File
@@ -3543,7 +3543,7 @@
</ul>
<p>将上述两者相乘,可得到建堆过程的时间复杂度为 <span class="arithmatex">\(O(n \log n)\)</span><strong>但这个估算结果并不准确,因为我们没有考虑到二叉树底层节点数量远多于顶层节点的性质</strong></p>
<p>接下来我们来进行更为准确的计算。为了减小计算难度,假设给定一个节点数量为 <span class="arithmatex">\(n\)</span> ,高度为 <span class="arithmatex">\(h\)</span> 的“完美二叉树”,该假设不会影响计算结果的正确性。</p>
<p><a class="glightbox" href="../build_heap.assets/heapify_operations_count.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="完美二叉树的各层节点数量" src="../build_heap.assets/heapify_operations_count.png" /></a></p>
<p><a class="glightbox" href="../build_heap.assets/heapify_operations_count.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="完美二叉树的各层节点数量" class="animation-figure" src="../build_heap.assets/heapify_operations_count.png" /></a></p>
<p align="center"> 图 8-5 &nbsp; 完美二叉树的各层节点数量 </p>
<p>如图 8-5 所示,节点“从顶至底堆化”的最大迭代次数等于该节点到叶节点的距离,而该距离正是“节点高度”。因此,我们可以将各层的“节点数量 <span class="arithmatex">\(\times\)</span> 节点高度”求和,<strong>从而得到所有节点的堆化迭代次数的总和</strong></p>
+21 -21
View File
@@ -3439,7 +3439,7 @@
<li>「大顶堆 max heap」:任意节点的值 <span class="arithmatex">\(\geq\)</span> 其子节点的值。</li>
<li>「小顶堆 min heap」:任意节点的值 <span class="arithmatex">\(\leq\)</span> 其子节点的值。</li>
</ul>
<p><a class="glightbox" href="../heap.assets/min_heap_and_max_heap.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="小顶堆与大顶堆" src="../heap.assets/min_heap_and_max_heap.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/min_heap_and_max_heap.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="小顶堆与大顶堆" class="animation-figure" src="../heap.assets/min_heap_and_max_heap.png" /></a></p>
<p align="center"> 图 8-1 &nbsp; 小顶堆与大顶堆 </p>
<p>堆作为完全二叉树的一个特例,具有以下特性。</p>
@@ -3791,7 +3791,7 @@
<p>我们在二叉树章节中学习到,完全二叉树非常适合用数组来表示。由于堆正是一种完全二叉树,<strong>我们将采用数组来存储堆</strong></p>
<p>当使用数组表示二叉树时,元素代表节点值,索引代表节点在二叉树中的位置。<strong>节点指针通过索引映射公式来实现</strong></p>
<p>如图 8-2 所示,给定索引 <span class="arithmatex">\(i\)</span> ,其左子节点索引为 <span class="arithmatex">\(2i + 1\)</span> ,右子节点索引为 <span class="arithmatex">\(2i + 2\)</span> ,父节点索引为 <span class="arithmatex">\((i - 1) / 2\)</span>(向下取整)。当索引越界时,表示空节点或节点不存在。</p>
<p><a class="glightbox" href="../heap.assets/representation_of_heap.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="堆的表示与存储" src="../heap.assets/representation_of_heap.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/representation_of_heap.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="堆的表示与存储" class="animation-figure" src="../heap.assets/representation_of_heap.png" /></a></p>
<p align="center"> 图 8-2 &nbsp; 堆的表示与存储 </p>
<p>我们可以将索引映射公式封装成函数,方便后续使用。</p>
@@ -4097,31 +4097,31 @@
<div class="tabbed-set tabbed-alternate" data-tabs="4:9"><input checked="checked" id="__tabbed_4_1" name="__tabbed_4" type="radio" /><input id="__tabbed_4_2" name="__tabbed_4" type="radio" /><input id="__tabbed_4_3" name="__tabbed_4" type="radio" /><input id="__tabbed_4_4" name="__tabbed_4" type="radio" /><input id="__tabbed_4_5" name="__tabbed_4" type="radio" /><input id="__tabbed_4_6" name="__tabbed_4" type="radio" /><input id="__tabbed_4_7" name="__tabbed_4" type="radio" /><input id="__tabbed_4_8" name="__tabbed_4" type="radio" /><input id="__tabbed_4_9" name="__tabbed_4" type="radio" /><div class="tabbed-labels"><label for="__tabbed_4_1">&lt;1&gt;</label><label for="__tabbed_4_2">&lt;2&gt;</label><label for="__tabbed_4_3">&lt;3&gt;</label><label for="__tabbed_4_4">&lt;4&gt;</label><label for="__tabbed_4_5">&lt;5&gt;</label><label for="__tabbed_4_6">&lt;6&gt;</label><label for="__tabbed_4_7">&lt;7&gt;</label><label for="__tabbed_4_8">&lt;8&gt;</label><label for="__tabbed_4_9">&lt;9&gt;</label></div>
<div class="tabbed-content">
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_push_step1.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="元素入堆步骤" src="../heap.assets/heap_push_step1.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_push_step1.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="元素入堆步骤" class="animation-figure" src="../heap.assets/heap_push_step1.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_push_step2.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step2" src="../heap.assets/heap_push_step2.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_push_step2.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step2" class="animation-figure" src="../heap.assets/heap_push_step2.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_push_step3.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step3" src="../heap.assets/heap_push_step3.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_push_step3.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step3" class="animation-figure" src="../heap.assets/heap_push_step3.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_push_step4.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step4" src="../heap.assets/heap_push_step4.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_push_step4.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step4" class="animation-figure" src="../heap.assets/heap_push_step4.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_push_step5.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step5" src="../heap.assets/heap_push_step5.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_push_step5.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step5" class="animation-figure" src="../heap.assets/heap_push_step5.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_push_step6.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step6" src="../heap.assets/heap_push_step6.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_push_step6.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step6" class="animation-figure" src="../heap.assets/heap_push_step6.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_push_step7.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step7" src="../heap.assets/heap_push_step7.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_push_step7.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step7" class="animation-figure" src="../heap.assets/heap_push_step7.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_push_step8.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step8" src="../heap.assets/heap_push_step8.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_push_step8.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step8" class="animation-figure" src="../heap.assets/heap_push_step8.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_push_step9.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step9" src="../heap.assets/heap_push_step9.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_push_step9.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_push_step9" class="animation-figure" src="../heap.assets/heap_push_step9.png" /></a></p>
</div>
</div>
</div>
@@ -4455,34 +4455,34 @@
<div class="tabbed-set tabbed-alternate" data-tabs="6:10"><input checked="checked" id="__tabbed_6_1" name="__tabbed_6" type="radio" /><input id="__tabbed_6_2" name="__tabbed_6" type="radio" /><input id="__tabbed_6_3" name="__tabbed_6" type="radio" /><input id="__tabbed_6_4" name="__tabbed_6" type="radio" /><input id="__tabbed_6_5" name="__tabbed_6" type="radio" /><input id="__tabbed_6_6" name="__tabbed_6" type="radio" /><input id="__tabbed_6_7" name="__tabbed_6" type="radio" /><input id="__tabbed_6_8" name="__tabbed_6" type="radio" /><input id="__tabbed_6_9" name="__tabbed_6" type="radio" /><input id="__tabbed_6_10" name="__tabbed_6" type="radio" /><div class="tabbed-labels"><label for="__tabbed_6_1">&lt;1&gt;</label><label for="__tabbed_6_2">&lt;2&gt;</label><label for="__tabbed_6_3">&lt;3&gt;</label><label for="__tabbed_6_4">&lt;4&gt;</label><label for="__tabbed_6_5">&lt;5&gt;</label><label for="__tabbed_6_6">&lt;6&gt;</label><label for="__tabbed_6_7">&lt;7&gt;</label><label for="__tabbed_6_8">&lt;8&gt;</label><label for="__tabbed_6_9">&lt;9&gt;</label><label for="__tabbed_6_10">&lt;10&gt;</label></div>
<div class="tabbed-content">
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_pop_step1.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="堆顶元素出堆步骤" src="../heap.assets/heap_pop_step1.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_pop_step1.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="堆顶元素出堆步骤" class="animation-figure" src="../heap.assets/heap_pop_step1.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_pop_step2.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step2" src="../heap.assets/heap_pop_step2.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_pop_step2.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step2" class="animation-figure" src="../heap.assets/heap_pop_step2.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_pop_step3.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step3" src="../heap.assets/heap_pop_step3.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_pop_step3.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step3" class="animation-figure" src="../heap.assets/heap_pop_step3.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_pop_step4.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step4" src="../heap.assets/heap_pop_step4.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_pop_step4.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step4" class="animation-figure" src="../heap.assets/heap_pop_step4.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_pop_step5.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step5" src="../heap.assets/heap_pop_step5.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_pop_step5.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step5" class="animation-figure" src="../heap.assets/heap_pop_step5.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_pop_step6.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step6" src="../heap.assets/heap_pop_step6.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_pop_step6.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step6" class="animation-figure" src="../heap.assets/heap_pop_step6.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_pop_step7.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step7" src="../heap.assets/heap_pop_step7.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_pop_step7.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step7" class="animation-figure" src="../heap.assets/heap_pop_step7.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_pop_step8.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step8" src="../heap.assets/heap_pop_step8.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_pop_step8.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step8" class="animation-figure" src="../heap.assets/heap_pop_step8.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_pop_step9.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step9" src="../heap.assets/heap_pop_step9.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_pop_step9.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step9" class="animation-figure" src="../heap.assets/heap_pop_step9.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../heap.assets/heap_pop_step10.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step10" src="../heap.assets/heap_pop_step10.png" /></a></p>
<p><a class="glightbox" href="../heap.assets/heap_pop_step10.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="heap_pop_step10" class="animation-figure" src="../heap.assets/heap_pop_step10.png" /></a></p>
</div>
</div>
</div>
+1 -1
View File
@@ -3292,7 +3292,7 @@
<!-- Page content -->
<h1 id="8">第 8 章 &nbsp;<a class="headerlink" href="#8" title="Permanent link">&para;</a></h1>
<div class="center-table">
<p><a class="glightbox" href="../assets/covers/chapter_heap.jpg" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="堆" src="../assets/covers/chapter_heap.jpg" width="600" /></a></p>
<p><a class="glightbox" href="../assets/covers/chapter_heap.jpg" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="堆" class="cover-image" src="../assets/covers/chapter_heap.jpg" /></a></p>
</div>
<div class="admonition abstract">
<p class="admonition-title">Abstract</p>
+11 -11
View File
@@ -3374,7 +3374,7 @@
<h2 id="831">8.3.1 &nbsp; 方法一:遍历选择<a class="headerlink" href="#831" title="Permanent link">&para;</a></h2>
<p>我们可以进行图 8-6 所示的 <span class="arithmatex">\(k\)</span> 轮遍历,分别在每轮中提取第 <span class="arithmatex">\(1\)</span><span class="arithmatex">\(2\)</span><span class="arithmatex">\(\dots\)</span><span class="arithmatex">\(k\)</span> 大的元素,时间复杂度为 <span class="arithmatex">\(O(nk)\)</span></p>
<p>此方法只适用于 <span class="arithmatex">\(k \ll n\)</span> 的情况,因为当 <span class="arithmatex">\(k\)</span><span class="arithmatex">\(n\)</span> 比较接近时,其时间复杂度趋向于 <span class="arithmatex">\(O(n^2)\)</span> ,非常耗时。</p>
<p><a class="glightbox" href="../top_k.assets/top_k_traversal.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="遍历寻找最大的 k 个元素" src="../top_k.assets/top_k_traversal.png" /></a></p>
<p><a class="glightbox" href="../top_k.assets/top_k_traversal.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="遍历寻找最大的 k 个元素" class="animation-figure" src="../top_k.assets/top_k_traversal.png" /></a></p>
<p align="center"> 图 8-6 &nbsp; 遍历寻找最大的 k 个元素 </p>
<div class="admonition tip">
@@ -3384,7 +3384,7 @@
<h2 id="832">8.3.2 &nbsp; 方法二:排序<a class="headerlink" href="#832" title="Permanent link">&para;</a></h2>
<p>如图 8-7 所示,我们可以先对数组 <code>nums</code> 进行排序,再返回最右边的 <span class="arithmatex">\(k\)</span> 个元素,时间复杂度为 <span class="arithmatex">\(O(n \log n)\)</span></p>
<p>显然,该方法“超额”完成任务了,因为我们只需要找出最大的 <span class="arithmatex">\(k\)</span> 个元素即可,而不需要排序其他元素。</p>
<p><a class="glightbox" href="../top_k.assets/top_k_sorting.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="排序寻找最大的 k 个元素" src="../top_k.assets/top_k_sorting.png" /></a></p>
<p><a class="glightbox" href="../top_k.assets/top_k_sorting.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="排序寻找最大的 k 个元素" class="animation-figure" src="../top_k.assets/top_k_sorting.png" /></a></p>
<p align="center"> 图 8-7 &nbsp; 排序寻找最大的 k 个元素 </p>
<h2 id="833">8.3.3 &nbsp; 方法三:堆<a class="headerlink" href="#833" title="Permanent link">&para;</a></h2>
@@ -3398,31 +3398,31 @@
<div class="tabbed-set tabbed-alternate" data-tabs="1:9"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><input id="__tabbed_1_6" name="__tabbed_1" type="radio" /><input id="__tabbed_1_7" name="__tabbed_1" type="radio" /><input id="__tabbed_1_8" name="__tabbed_1" type="radio" /><input id="__tabbed_1_9" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">&lt;1&gt;</label><label for="__tabbed_1_2">&lt;2&gt;</label><label for="__tabbed_1_3">&lt;3&gt;</label><label for="__tabbed_1_4">&lt;4&gt;</label><label for="__tabbed_1_5">&lt;5&gt;</label><label for="__tabbed_1_6">&lt;6&gt;</label><label for="__tabbed_1_7">&lt;7&gt;</label><label for="__tabbed_1_8">&lt;8&gt;</label><label for="__tabbed_1_9">&lt;9&gt;</label></div>
<div class="tabbed-content">
<div class="tabbed-block">
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step1.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="基于堆寻找最大的 k 个元素" src="../top_k.assets/top_k_heap_step1.png" /></a></p>
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step1.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="基于堆寻找最大的 k 个元素" class="animation-figure" src="../top_k.assets/top_k_heap_step1.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step2.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step2" src="../top_k.assets/top_k_heap_step2.png" /></a></p>
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step2.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step2" class="animation-figure" src="../top_k.assets/top_k_heap_step2.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step3.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step3" src="../top_k.assets/top_k_heap_step3.png" /></a></p>
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step3.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step3" class="animation-figure" src="../top_k.assets/top_k_heap_step3.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step4.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step4" src="../top_k.assets/top_k_heap_step4.png" /></a></p>
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step4.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step4" class="animation-figure" src="../top_k.assets/top_k_heap_step4.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step5.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step5" src="../top_k.assets/top_k_heap_step5.png" /></a></p>
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step5.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step5" class="animation-figure" src="../top_k.assets/top_k_heap_step5.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step6.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step6" src="../top_k.assets/top_k_heap_step6.png" /></a></p>
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step6.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step6" class="animation-figure" src="../top_k.assets/top_k_heap_step6.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step7.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step7" src="../top_k.assets/top_k_heap_step7.png" /></a></p>
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step7.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step7" class="animation-figure" src="../top_k.assets/top_k_heap_step7.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step8.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step8" src="../top_k.assets/top_k_heap_step8.png" /></a></p>
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step8.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step8" class="animation-figure" src="../top_k.assets/top_k_heap_step8.png" /></a></p>
</div>
<div class="tabbed-block">
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step9.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step9" src="../top_k.assets/top_k_heap_step9.png" /></a></p>
<p><a class="glightbox" href="../top_k.assets/top_k_heap_step9.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="top_k_heap_step9" class="animation-figure" src="../top_k.assets/top_k_heap_step9.png" /></a></p>
</div>
</div>
</div>