mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-19 15:00:58 +00:00
deploy
This commit is contained in:
@@ -4360,7 +4360,7 @@
|
||||
<h3 id="1">1. Ключевые выводы<a class="headerlink" href="#1" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>Куча представляет собой полное двоичное дерево и делится на максимальную кучу и минимальную кучу. Элемент на вершине максимальной (минимальной) кучи является наибольшим (наименьшим).</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>
|
||||
@@ -4368,7 +4368,7 @@
|
||||
<li>Top-k - это классическая алгоритмическая задача, которую можно эффективно решать с помощью кучи за <span class="arithmatex">\(O(n \log k)\)</span> .</li>
|
||||
</ul>
|
||||
<h3 id="2-q-a">2. Q & A<a class="headerlink" href="#2-q-a" title="Permanent link">¶</a></h3>
|
||||
<p><strong>Q</strong>: Является ли "куча" как структура данных тем же самым понятием, что и "куча" в управлении памятью?</p>
|
||||
<p><strong>Q</strong>: Является ли «куча» как структура данных тем же самым понятием, что и «куча» в управлении памятью?</p>
|
||||
<p>Это не одно и то же, просто у них случайно совпало название. Куча в памяти компьютерной системы является частью динамического распределения памяти: во время выполнения программы она используется для хранения данных. Программа может запросить определенный объем памяти в куче для хранения сложных структур, таких как объекты и массивы. Когда эти данные больше не нужны, память нужно освободить, чтобы не допустить утечек. По сравнению со стековой памятью управление памятью в куче требует большей осторожности, а неправильное использование может привести к утечкам памяти и проблемам с указателями.</p>
|
||||
|
||||
<!-- Source file information -->
|
||||
|
||||
Reference in New Issue
Block a user