如何構(gòu)建哈希表 求解,試為下列關(guān)鍵字建立一個(gè)裝載因子不小于0.75的哈希表,并計(jì)算你所構(gòu)造的哈希表的平均查找長度?
求解,試為下列關(guān)鍵字建立一個(gè)裝載因子不小于0.75的哈希表,并計(jì)算你所構(gòu)造的哈希表的平均查找長度?解決方案:(1)首先確定哈希表的長度:根據(jù)公式:α=n/m,(n為記錄數(shù),m為表長)可以看出,由于α不
求解,試為下列關(guān)鍵字建立一個(gè)裝載因子不小于0.75的哈希表,并計(jì)算你所構(gòu)造的哈希表的平均查找長度?
解決方案:(1)首先確定哈希表的長度:根據(jù)公式:α=n/m,(n為記錄數(shù),m為表長)可以看出,由于α不小于0.75,當(dāng)記錄數(shù)為12時(shí),可以將表長設(shè)為16,α的值為0.75。(2) 根據(jù)關(guān)鍵字第一個(gè)字母的順序,我們可以建立一個(gè)哈希表。如果第一個(gè)字母相同,我們可以添加第二個(gè)字母的順序。以此類推,我們可以知道它可以轉(zhuǎn)換成數(shù)字:趙=26;錢=17;孫=19;李=12;周=34;吳=23;張=35;王=24;常=3;朝=11;陽=25;金=10(3)。增量Di設(shè)置為Di=I((12K)mod15 1H(key)=(3K)mod20。很容易得到如下哈希表:H(26)=18h(17)=11h(19)=17h(12)=16h(34)=2H(23)=9h(35)=5h(24)=12h(3)=9h1(3)=7h(11)=13h(25)=15h(10)=10平均搜索長度:aslsucc=(1×11 2)/12=13/12