mirror of
https://github.com/krahets/hello-algo.git
synced 2026-05-11 11:07:14 +08:00
deploy
This commit is contained in:
@@ -4196,7 +4196,7 @@
|
||||
<p>输入一个 <code>key</code> ,哈希函数的计算过程分为以下两步。</p>
|
||||
<ol>
|
||||
<li>通过某种哈希算法 <code>hash()</code> 计算得到哈希值。</li>
|
||||
<li>将哈希值对桶数量(数组长度)<code>capacity</code> 取模,从而获取该 <code>key</code> 对应的数组索引 <code>index</code> 。</li>
|
||||
<li>将哈希值对桶数量(数组长度)<code>capacity</code> 取模,从而获取该 <code>key</code> 对应的桶(数组索引)<code>index</code> 。</li>
|
||||
</ol>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-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>
|
||||
@@ -4229,7 +4229,7 @@
|
||||
<a id="__codelineno-29-18" name="__codelineno-29-18" href="#__codelineno-29-18"></a> <span class="n">index</span> <span class="o">=</span> <span class="n">key</span> <span class="o">%</span> <span class="mi">100</span>
|
||||
<a id="__codelineno-29-19" name="__codelineno-29-19" href="#__codelineno-29-19"></a> <span class="k">return</span> <span class="n">index</span>
|
||||
<a id="__codelineno-29-20" name="__codelineno-29-20" href="#__codelineno-29-20"></a>
|
||||
<a id="__codelineno-29-21" name="__codelineno-29-21" href="#__codelineno-29-21"></a> <span class="k">def</span><span class="w"> </span><span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
||||
<a id="__codelineno-29-21" name="__codelineno-29-21" href="#__codelineno-29-21"></a> <span class="k">def</span><span class="w"> </span><span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span> <span class="o">|</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<a id="__codelineno-29-22" name="__codelineno-29-22" href="#__codelineno-29-22"></a><span class="w"> </span><span class="sd">"""查询操作"""</span>
|
||||
<a id="__codelineno-29-23" name="__codelineno-29-23" href="#__codelineno-29-23"></a> <span class="n">index</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hash_func</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
<a id="__codelineno-29-24" name="__codelineno-29-24" href="#__codelineno-29-24"></a> <span class="n">pair</span><span class="p">:</span> <span class="n">Pair</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">buckets</span><span class="p">[</span><span class="n">index</span><span class="p">]</span>
|
||||
@@ -4238,7 +4238,7 @@
|
||||
<a id="__codelineno-29-27" name="__codelineno-29-27" href="#__codelineno-29-27"></a> <span class="k">return</span> <span class="n">pair</span><span class="o">.</span><span class="n">val</span>
|
||||
<a id="__codelineno-29-28" name="__codelineno-29-28" href="#__codelineno-29-28"></a>
|
||||
<a id="__codelineno-29-29" name="__codelineno-29-29" href="#__codelineno-29-29"></a> <span class="k">def</span><span class="w"> </span><span class="nf">put</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">val</span><span class="p">:</span> <span class="nb">str</span><span class="p">):</span>
|
||||
<a id="__codelineno-29-30" name="__codelineno-29-30" href="#__codelineno-29-30"></a><span class="w"> </span><span class="sd">"""添加操作"""</span>
|
||||
<a id="__codelineno-29-30" name="__codelineno-29-30" href="#__codelineno-29-30"></a><span class="w"> </span><span class="sd">"""添加和更新操作"""</span>
|
||||
<a id="__codelineno-29-31" name="__codelineno-29-31" href="#__codelineno-29-31"></a> <span class="n">pair</span> <span class="o">=</span> <span class="n">Pair</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span>
|
||||
<a id="__codelineno-29-32" name="__codelineno-29-32" href="#__codelineno-29-32"></a> <span class="n">index</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hash_func</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
<a id="__codelineno-29-33" name="__codelineno-29-33" href="#__codelineno-29-33"></a> <span class="bp">self</span><span class="o">.</span><span class="n">buckets</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">pair</span>
|
||||
|
||||
Reference in New Issue
Block a user