This commit is contained in:
krahets
2026-10-29 15:15:46 +08:00
parent b67d4c595d
commit a5ad0118bc
95 changed files with 141 additions and 141 deletions

View File

@@ -4712,7 +4712,7 @@
<p><strong>Распределение пар ключ-значение определяется хеш-функцией</strong>. Вспомним этапы вычисления хеш-функции: сначала вычисляется хеш-значение, затем оно берется по модулю длины массива:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nv">index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>hash<span class="o">(</span>key<span class="o">)</span><span class="w"> </span>%<span class="w"> </span>capacity
</code></pre></div>
<p>Из этой формулы видно: при фиксированной емкости хеш-таблицы <code>capacity</code> **выходное значение определяет именно хеш-алгоритм <code>hash()</code> **, а значит, именно он определяет распределение пар ключ-значение в хеш-таблице.</p>
<p>Из этой формулы видно: при фиксированной емкости хеш-таблицы <code>capacity</code> <strong>выходное значение определяет именно хеш-алгоритм <code>hash()</code></strong>, а значит, именно он определяет распределение пар ключ-значение в хеш-таблице.</p>
<p>Это означает, что для уменьшения вероятности хеш-коллизий нам следует сосредоточиться на проектировании хеш-алгоритма <code>hash()</code> .</p>
<h2 id="631-">6.3.1 &nbsp; Цели хеш-алгоритма<a class="headerlink" href="#631-" title="Permanent link">&para;</a></h2>
<p>Чтобы получить структуру данных хеш-таблицы, которая будет одновременно быстрой и надежной, хеш-алгоритм должен обладать следующими свойствами.</p>