mirror of
https://github.com/krahets/hello-algo.git
synced 2026-09-03 13:47:13 +00:00
deploy
This commit is contained in:
@@ -3412,10 +3412,10 @@
|
||||
<h2 id="833">8.3.3. 方法三:堆<a class="headerlink" href="#833" title="Permanent link">¶</a></h2>
|
||||
<p>我们可以基于堆更加高效地解决 Top-K 问题,流程如下:</p>
|
||||
<ol>
|
||||
<li>初始化一个小顶堆,其堆顶元素最小;</li>
|
||||
<li>先将数组的前 <span class="arithmatex">\(k\)</span> 个元素依次入堆;</li>
|
||||
<li>从第 <span class="arithmatex">\(k + 1\)</span> 个元素开始,若当前元素大于堆顶元素,则将堆顶元素出堆,并将当前元素入堆;</li>
|
||||
<li>遍历完成后,堆中保存的就是最大的 <span class="arithmatex">\(k\)</span> 个元素;</li>
|
||||
<li>初始化一个小顶堆,其堆顶元素最小。</li>
|
||||
<li>先将数组的前 <span class="arithmatex">\(k\)</span> 个元素依次入堆。</li>
|
||||
<li>从第 <span class="arithmatex">\(k + 1\)</span> 个元素开始,若当前元素大于堆顶元素,则将堆顶元素出堆,并将当前元素入堆。</li>
|
||||
<li>遍历完成后,堆中保存的就是最大的 <span class="arithmatex">\(k\)</span> 个元素。</li>
|
||||
</ol>
|
||||
<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"><1></label><label for="__tabbed_1_2"><2></label><label for="__tabbed_1_3"><3></label><label for="__tabbed_1_4"><4></label><label for="__tabbed_1_5"><5></label><label for="__tabbed_1_6"><6></label><label for="__tabbed_1_7"><7></label><label for="__tabbed_1_8"><8></label><label for="__tabbed_1_9"><9></label></div>
|
||||
<div class="tabbed-content">
|
||||
|
||||
Reference in New Issue
Block a user