⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds9.4.3.htm

📁 这是清华大学所用的数据结构的电子版教材
💻 HTM
📖 第 1 页 / 共 4 页
字号:
</span>Hash(key)=key mod 11</span><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">,用</span></b></font><b><span style="mso-bidi-font-size: 10.0pt; font-family: 黑体; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang="EN-US"><font size="5" color="#FFFFFF">二次探测法</font></span></b><font size="5" color="#FFFFFF"><b><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">处理冲突,建表如下:</span></b></font></p>
<div align="center">
  <center><!--mstheme--></font>
  <table border="1" width="388" height="61" bordercolorlight="#3366CC" bordercolordark="#000000">
    <tr>
      <td width="32" height="30" valign="middle" align="center"><!--mstheme--><font face="宋体">
        <p align="center"><font size="5" color="#FFFFFF"><b>0</b></font><!--mstheme--></font></td>
      <td width="40" height="30" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>1</b></font><!--mstheme--></font></td>
      <td width="36" height="30" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>2</b></font><!--mstheme--></font></td>
      <td width="35" height="30" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>3</b></font><!--mstheme--></font></td>
      <td width="35" height="30" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>4</b></font><!--mstheme--></font></td>
      <td width="35" height="30" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>5</b></font><!--mstheme--></font></td>
      <td width="33" height="30" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>6</b></font><!--mstheme--></font></td>
      <td width="37" height="30" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>7</b></font><!--mstheme--></font></td>
      <td width="35" height="30" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>8</b></font><!--mstheme--></font></td>
      <td width="35" height="30" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>9</b></font><!--mstheme--></font></td>
      <td width="35" height="30" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>10</b></font><!--mstheme--></font></td>
    </tr>
    <tr>
      <td width="32" height="31" valign="middle" align="center"><!--mstheme--><font face="宋体"><b><font size="5" color="#FFFFFF">11</font></b><!--mstheme--></font></td>
      <td width="40" height="31" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>22</b></font><!--mstheme--></font></td>
      <td width="36" height="31" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>3</b></font><!--mstheme--></font></td>
      <td width="35" height="31" valign="middle" align="center"><!--mstheme--><font face="宋体"><b><font size="5" color="#FFFFFF">47</font></b><!--mstheme--></font></td>
      <td width="35" height="31" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>92</b></font><!--mstheme--></font></td>
      <td width="35" height="31" valign="middle" align="center"><!--mstheme--><font face="宋体"><b><font size="5" color="#FFFFFF">16</font></b><!--mstheme--></font></td>
      <td width="33" height="31" valign="middle" align="center"><!--mstheme--><font face="宋体"><!--mstheme--></font></td>
      <td width="37" height="31" valign="middle" align="center"><!--mstheme--><font face="宋体"><b><font size="5" color="#FFFFFF">7</font></b><!--mstheme--></font></td>
      <td width="35" height="31" valign="middle" align="center"><!--mstheme--><font face="宋体"><b><font size="5" color="#FFFFFF">29</font></b><!--mstheme--></font></td>
      <td width="35" height="31" valign="middle" align="center"><!--mstheme--><font face="宋体"><font size="5" color="#FFFFFF"><b>8</b></font><!--mstheme--></font></td>
      <td width="35" height="31" valign="middle" align="center"><!--mstheme--><font face="宋体"><!--mstheme--></font></td>
    </tr>
  </table>
  <!--mstheme--><font face="宋体"></center>
</div>
<p class="MsoNormal"><span lang="EN-US" style="font-family:黑体"><b><font size="5" color="#FFFF00">3. 
双哈希函数探测法<o:p>
</o:p>
</font></b></span></p>
<p class="MsoNormal"><font color="#FFFFFF" size="5"><b><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;</span><span style="letter-spacing:.1pt">H<sub>i</sub>=(</span></span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; letter-spacing: .1pt">Hash(key)+i*ReHash(key)</span><span lang="EN-US" style="letter-spacing:
.1pt">) mod m<span style="mso-spacerun: yes"> </span>(i=1</span><span style="font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; letter-spacing: .1pt">,</span><span lang="EN-US" style="letter-spacing:.1pt">2</span><span style="font-family:宋体;mso-ascii-font-family:
&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;;letter-spacing:.1pt">,…</span><span style="font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; letter-spacing: .1pt">,</span><span lang="EN-US" style="letter-spacing:.1pt">m-1)<o:p>
</o:p>
</span></b></font></p>
<p class="MsoNormal"><span style="mso-spacerun: yes" lang="EN-US"><font size="5"><b><font color="#FFFFFF">&nbsp;</font></b></font></span><font size="5"><b><font color="#FFFFFF"><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">其中:</span></font></b></font></p>
<blockquote>
  <p class="MsoNormal"><font color="#FFFFFF" size="5"><b><span lang="EN-US">Hash(key)</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;">,</span><span lang="EN-US">ReHash(key)</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">是两个哈希函数,</span></b></font></p>
  <p class="MsoNormal"><font color="#FFFFFF" size="5"><b><span lang="EN-US">m</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;">为哈希表长度</span></b></font></p>
</blockquote>
<p class="MsoNormal"><font color="#FFFFFF" size="5"><b><span style="mso-spacerun: yes" lang="EN-US">&nbsp;&nbsp; 
</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">双哈希函数探测法,先用第一个函数</span><span lang="EN-US">Hash(key)</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">对关键码计算哈希地址,一旦产生地址冲突,再用第二个函数</span><span lang="EN-US">ReHash(key)</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">确定移动的步长因子,最后,通过步长因子序列由探测函数寻找空的哈希地址。</span></b></font></p>
<p class="MsoNormal"><font color="#FFFFFF" size="5"><b><span style="mso-spacerun: yes" lang="EN-US">&nbsp;&nbsp; 
</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">比如,</span><span lang="EN-US">Hash(key)=a</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">时产生地址冲突,就计算</span><span lang="EN-US">ReHash(key)=b</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">,则探测的地址序列为</span></b></font></p>
<blockquote>
  <p style="margin-top: 0; margin-bottom: 0"><font color="#FFFFFF" size="5"><b><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; font-family: Times New Roman; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">H<sub>1</sub>=(a+b) 
  mod m</span></b></font>
  <p style="margin-top: 0; margin-bottom: 0"><font color="#FFFFFF" size="5"><b><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; font-family: Times New Roman; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">H<sub>2</sub>=(a+2b) 
  mod m</span></b></font></p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -