下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、哈希表查找不成功怎么計(jì)算?解答:先建好表,然后可以算出每個(gè)位置不成功時(shí)的比較次數(shù)之和,再除以表空問個(gè)數(shù)!例如:散列函數(shù)為hash(x)=xMOD13,用線性探測,建立了哈希表之后,如何求查找不成功時(shí)的平均查找長度???地址:0123456789101112數(shù)據(jù):391228154244625-3638成功次數(shù):1312211911不成功次數(shù):98765432112110查找成功時(shí)的平均查找長度:ASL=(1+3+1+2+2+1+1+9+1+1)/10=2.2查找不成功時(shí)的平均查找長度:ASL=(9+8+7+6+5+4+3+2+1+1+2+1+10)/13=4.54說明:第n個(gè)位置不成功時(shí)的比較次
2、數(shù)為,第n個(gè)位置到第1個(gè)沒有數(shù)據(jù)位置的距離。至少要查詢多少次才能確認(rèn)沒有這個(gè)值。(1)查詢hash(x)=0,至少要查詢9次遇到表值為空的時(shí)候,才能確認(rèn)查詢失敗。(2)查詢hash(x)=1,至少要查詢8次遇到表值為空的時(shí)候,才能確認(rèn)查詢失敗。(3)查詢hash(x)=2,至少要查詢7次遇到表值為空的時(shí)候,才能確認(rèn)查詢失敗。(4)查詢hash(x)=3,至少要查詢6次遇到表值為空的時(shí)候,才能確認(rèn)查詢失敗。(5)查詢hash(x)=4,至少要查詢5次遇到表值為空的時(shí)候,才能確認(rèn)查詢失敗。(6)查詢hash(x)=5,至少要查詢4次遇到表值為空的時(shí)候,才能確認(rèn)查詢失敗。(7)查詢hash(x)=6
3、,至少要查詢3次遇到表值為空的時(shí)候,才能確認(rèn)查詢失敗。(8)查詢hash(x)=7,至少要查詢2次遇到表值為空的時(shí)候,才能確認(rèn)查詢失敗。(9)查詢hash(x)=8,至少要查詢1次遇到表值為空的時(shí)候,才能確認(rèn)查詢失敗。(10)查詢hash(x)=9,至少要查詢1次遇到表值為空的時(shí)候,才能確認(rèn)查詢失敗。(11)查詢hash(x)=10,至少要查詢2次遇到表值為空的時(shí)候,才能確認(rèn)查詢失敗。(12)查詢hash(x)=11,至少要查詢1次遇到表值為空的時(shí)候,才能確認(rèn)查詢失敗。(13)查詢hash(x)=12,至少要查詢10次遇到表值為空(循環(huán)查詢順序表)的時(shí)候,才能確認(rèn)查詢失敗。下面看下2010年2
4、010年全國碩士研究生入學(xué)統(tǒng)一考試計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科聯(lián)考計(jì)算機(jī)學(xué)科專業(yè)基礎(chǔ)綜合試題中一個(gè)考哈希表的題。Question1:將關(guān)鍵字序列(7、8、30、11、18、9、14)散列存儲到散列表中。散列表的存儲空間是一個(gè)下標(biāo)從0開始的一維數(shù)組,散列函數(shù)為:H(key)=(keyx3)MOD7,處理沖突采用線性探測再散列法,要求裝填(載)因子為0.7。(1)請畫出所構(gòu)造的散列表。(2)分別計(jì)算等概率情況下查找成功和查找不成功的平均查找長度。Ans:(1).首先明確一個(gè)概念裝載因子,裝載因子是指所有關(guān)鍵子填充哈希表后飽和的程度,它等于關(guān)鍵字總數(shù)/哈希表的長度。根據(jù)題意,我們可以確定哈希表的長度為L=7
5、/0.7=10;因此此題需要構(gòu)建的哈希表是下標(biāo)為09的一維數(shù)組。根據(jù)散列函數(shù)可以得到如下散列函數(shù)值表。H(Key)=(keyx3)MOD7,例如key=7時(shí),H(7)=(7x3)%7=21%7=0其他關(guān)鍵字同理。Key78301118914H(Key)0365560(表1)采用線性探測再散列法處理沖突,所構(gòu)造的散列表為:地址0123456789關(guān)鍵字71481130189(表2)下面對散列表的構(gòu)造方式加以說明,注意表1中的關(guān)鍵字7和14,30和9,11和18,這三組關(guān)鍵子的H(Key)值相同,這在構(gòu)建散列表時(shí)就會產(chǎn)生沖突,因?yàn)樗麄兊牡刂废嗤?,所以要通過一定的沖突處理方法來解決這個(gè)問題。依題,采
6、用線性探測再散列法處理沖突。下面詳細(xì)介紹如何構(gòu)建散列表:第一個(gè)key7,它的地址是0,因此放到散列表的數(shù)組下表為0的位置,這個(gè)位置上沒有關(guān)鍵字,因此沒有沖突可以直接填入;第二個(gè)key8,它的地址是3,因此放到散列表的數(shù)組下表為3的位置,這個(gè)位置上沒有關(guān)鍵字,因此沒有沖突可以直接填入;第三個(gè)key30,它的地址是6,因此放到散列表的數(shù)組下表為6的位置,這個(gè)位置上沒有關(guān)鍵字,因此沒有沖突可以直接填入;第四個(gè)key11,它的地址是5,因此放到散列表的數(shù)組下表為5的位置,這個(gè)位置上沒有關(guān)鍵字,因此沒有沖突可以直接填入;第五個(gè)key18,它的地址是5,因此放到散列表的數(shù)組下表為5的位置,但這個(gè)位置上已經(jīng)
7、有關(guān)鍵字11,遇到了沖突,此時(shí)我們根據(jù)線性探測再散列法來處理這個(gè)沖突,探測下一個(gè)位置6,6這個(gè)位置上已經(jīng)存在關(guān)鍵字30則繼續(xù)增加步長1,因此現(xiàn)在的新地址應(yīng)為7,位置7上沒有關(guān)鍵字,放入即可,到此沖突已經(jīng)解決;第六個(gè)key9,它的地址是6,因此放到散列表的數(shù)組下表為6的位置,但這個(gè)位置上已經(jīng)有關(guān)鍵字30,遇到了沖突,探測下一個(gè)位置7,7這個(gè)位置上已經(jīng)存在關(guān)鍵字18則繼續(xù)增加步長1,因此現(xiàn)在的新地址應(yīng)為8,位置8上沒有關(guān)鍵字,放入即可;第七個(gè)key14,它的地址是0,因此放到散列表的數(shù)組下表為0的位置,但這個(gè)位置上已經(jīng)有關(guān)鍵字7,遇到了沖突,探測下一個(gè)位置1,位置1上沒有關(guān)鍵字,放入即可;到這一步
8、所有關(guān)鍵字均已填入,散列表已經(jīng)構(gòu)造完成,如表2所示。(2)等概率情況下查找成功平均查找長度:這一問可以根據(jù)第一問的構(gòu)造過程求解:key7一次就填入了表中,因此查找次數(shù)為1,同理8,30,11查找次數(shù)均為1;key18進(jìn)行了3次放入操作,探測位置分別是5,6,7,因此查找次數(shù)為3;key9也是3次;key14進(jìn)行了兩次探測,因此查找次數(shù)為2。次數(shù)表如表3所小Key78301118914Count1111332(表3)所以ASLsuccess=(1+1+1+1+3+3+2/7=12/7。等概率情況下查找不成功的平均查找長度:接下來討論不成功的情況,看表2,計(jì)算查找不成功的次數(shù)就直接找關(guān)鍵字到第一個(gè)
9、地址上關(guān)鍵字為空的距離即可,但根據(jù)哈希函數(shù)地址為MOD7因此初始只可能在06的位置。等概率情況下,查找06位置查找失敗的查找次數(shù)為:看地址0,到第一個(gè)關(guān)鍵字為空的地址2的距離為3,因此查找不成功的次數(shù)為3.地址1,到第一個(gè)關(guān)鍵為空的地址2的距離為2,因此查找不成功的次數(shù)為2.地址2,到第一個(gè)關(guān)鍵為空的地址2的距離為1,因此查找不成功的次數(shù)為1.地址3,到第一個(gè)關(guān)鍵為空的地址4的距離為2,因此查找不成功的次數(shù)為2.地址4,到第一個(gè)關(guān)鍵為空的地址4的距離為1,因此查找不成功的次數(shù)為1.地址5,到第一個(gè)關(guān)鍵為空的地址2(注意不是地址9,因?yàn)槌跏贾豢赡茉?6之間,因此循環(huán)回去)的距離為5,因此查找不成
10、功的次數(shù)為5.地址6,到第一個(gè)關(guān)鍵為空的地址2(注意不是地址9,因?yàn)槌跏贾豢赡茉?6之間,因此循環(huán)回去)的距離為4,因此查找不成功的次數(shù)為4.因此查找不成功的次數(shù)表如下表所示Key78301118914Count3212154(表4)所以ASLunsuccess=(3+2+1+2+1+5+4/7=18/7。哈希表鏈地址法平均查找長度十二月28th,2010Mr.li1796 chaining DS HashTable哈希函數(shù)為:H(key)=keymod11關(guān)鍵字為:1131234383327221mod11=1所以數(shù)據(jù)1是屬于地址113mod11=2所以數(shù)據(jù)13是屬于地址212mod11=1
11、所以數(shù)據(jù)12也是屬于地址1(這個(gè)數(shù)據(jù)是數(shù)據(jù)1指針的另一個(gè)新數(shù)據(jù))34mod11=1所以數(shù)據(jù)34是屬于地址1(這個(gè)數(shù)據(jù)是數(shù)據(jù)12指針的另一個(gè)新數(shù)據(jù))38mod11=5所以數(shù)據(jù)38是屬于地址533mod11=0所以數(shù)據(jù)33是屬于地址027mod11=5所以數(shù)據(jù)27是屬于地址5,(這個(gè)數(shù)據(jù)是數(shù)據(jù)38指針的另一個(gè)新數(shù)據(jù))22mod11=0所以數(shù)據(jù)22是屬于地址0,(這個(gè)數(shù)據(jù)是數(shù)據(jù)33指針的另一個(gè)新數(shù)據(jù))鏈地址法處理沖突構(gòu)造所得的哈希表如下:0->22->33A1->1->12->34A2->13A3A4A5->27->38A6A7A8A9A10a查找成功
12、時(shí):ASL=(1X4+2X3+3X1)/8=13/8其中紅色標(biāo)記為查找次數(shù)。也就是說,需查找1次找到的有4個(gè),其它以此類推查找不成功時(shí):ASL=(3+4+2+1+1+3+1+1+1+1+1)/11=19/11以第一個(gè)3為例,其對應(yīng)于0地址位,確定查找不成功需比較3次,其它以此類推.鏈?zhǔn)教幚頉_突怎么求不成功的平均查找長度1 346723 584 2648815 9367 6889 75這個(gè)貌似不同的教材有不同的計(jì)算結(jié)果,不過運(yùn)算方法是相同的。第一列的數(shù)據(jù)時(shí)需要比較一次的,包括34、58、26等以及2、6、8這三個(gè)位置。其中除了這三個(gè)位置外是查找成功比較一次,而這三個(gè)位置是查賬不成功的。另外,3、
13、5、7、9這幾個(gè)位置是需要比較兩次才知道查找不成功的;同理,1位置查找不成功比較3次,4位置比較4次。所以有ASL=(1X3+2X4+3X1+4X1)/9=18/9下面看下2010年2010年全國碩士研究生入學(xué)統(tǒng)一考試計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科聯(lián)考計(jì)算機(jī)學(xué)科專業(yè)基礎(chǔ)綜合試題中一個(gè)考哈希表的題。Question1:將關(guān)鍵字序列(7、8、30、11、18、9、14)散列存儲到散列表中。散列表的存儲空間是一個(gè)下標(biāo)從0開始的一維數(shù)組,散列函數(shù)為:H(key)=(keyx3)MOD7處理沖突采用線性探測再散列法,要求裝填(載)因子為0.7。(1)請畫出所構(gòu)造的散列表。(2)分別計(jì)算等概率情況下查找成功和查找不
14、成功的平均查找長度。Ans:(1),首先明確一個(gè)概念裝載因子,裝載因子是指所有關(guān)鍵子填充哈希表后飽和的程度,它等于關(guān)鍵字總數(shù)/哈希表的長度。根據(jù)題意,我們可以確定哈希表的長度為L=7/0,7=10;因此此題需要構(gòu)建的哈希表是下標(biāo)為09的一維數(shù)組。根據(jù)散列函數(shù)可以得到如下散列函數(shù)值表。H(Key)=(keyx3)MOD7,例如key=7時(shí),H(7)=(7x3)%7=21%7=0,其他關(guān)鍵字同理。Key78301118914H(Key)0365560(表1)采用線性探測再散列法處理沖突,所構(gòu)造的散列表為:地址0123456789關(guān)鍵字71481130189(表2)下面對散列表的構(gòu)造方式加以說明,注
15、意表1中的關(guān)鍵字7和14,30和9,11和18,這三組關(guān)鍵子的H(Key)值相同,這在構(gòu)建散列表時(shí)就會產(chǎn)生沖突,因?yàn)樗麄兊牡刂废嗤?,所以要通過一定的沖突處理方法來解決這個(gè)問題。依題,采用線性探測再散列法處理沖突。下面詳細(xì)介紹如何構(gòu)建散列表:第一個(gè)key7,它的地址是0,因此放到散列表的數(shù)組下表為沒有關(guān)鍵字,因此沒有沖突可以直接填入;0的位置,這個(gè)位置第二個(gè)key8,它的地址是3,因此放到散列表的數(shù)組下表為沒有關(guān)鍵字,因此沒有沖突可以直接填入;3的位置,這個(gè)位置上第三個(gè)key30,它的地址是6,因此放到散列表的數(shù)組下表為上沒有關(guān)鍵字,因此沒有沖突可以直接填入;6的位置,這個(gè)位置第四個(gè)key11,
16、它的地址是5,因此放到散列表的數(shù)組下表為上沒有關(guān)鍵字,因此沒有沖突可以直接填入;5的位置,這個(gè)位置第五個(gè)key18,它的地址是5,因此放到散列表的數(shù)組下表為5的位置,但這個(gè)位置上已經(jīng)有關(guān)鍵字11,遇到了沖突,此時(shí)我們根據(jù)線性探測再散列法來處理這個(gè)沖突,探測下一個(gè)位置6,6這個(gè)位置上已經(jīng)存在關(guān)鍵字30則繼續(xù)增加步長1,因此現(xiàn)在的新地址應(yīng)為7,位置7上沒有關(guān)鍵字,放入即可,到此沖突已經(jīng)解決;第六個(gè)key9,它的地址是6,因此放到散列表的數(shù)組下表為6的位置,但這個(gè)位置上已經(jīng)有關(guān)鍵字30,遇到了沖突,探測下一個(gè)位置7,7這個(gè)位置上已經(jīng)存在關(guān)鍵字18則繼續(xù)增加步長1,因此現(xiàn)在的新地址應(yīng)為8,位置8上沒有
17、關(guān)鍵字,放入即可;第七個(gè)key14,它的地址是0,因此放到散列表的數(shù)組下表為0的位置,但這個(gè)位置上已經(jīng)有關(guān)鍵字7,遇到了沖突,探測下一個(gè)位置1,位置1上沒有關(guān)鍵字,放入即可;到這一步所有關(guān)鍵字均已填入,散列表已經(jīng)構(gòu)造完成,如表2所示。(2)等概率情況下查找成功平均查找長度:這一問可以根據(jù)第一問的構(gòu)造過程求解:key7一次就填入了表中,因此查找次數(shù)為1,同理8,30,11查找次數(shù)均為1;key18進(jìn)行了3次放入操作,探測位置分別是5,6,7,因此查找次數(shù)為3;key9也是3次;key14進(jìn)行了兩次探測,因此查找次數(shù)為2。次數(shù)表如表3所示Key78301118914Count1111332(表3)所以ASLsuccess=(1+1+1+1+3+3+2)/7=12/7。等概率情況下查找不成功的平均查找長度:接下來討論不成功的情況,看表2,計(jì)算查找不成功的次數(shù)就直接找關(guān)鍵字到第一個(gè)地址上關(guān)鍵字為空的距離即可,但根據(jù)哈希函數(shù)地址為MOD7因此初始只可能在06的位置。等概率情況下,查找06位置查找失敗的查找次數(shù)為:看地址0,到第一個(gè)關(guān)鍵字為空的地址2的距離為3,因此查找不成功的次數(shù)為3.地址1,到第一個(gè)關(guān)鍵為空的地址2的距離為2,因此查找不成功的次數(shù)為2.地址2,到第一個(gè)關(guān)鍵為空的地址2的距離為1,因此查找不成功的次數(shù)為1.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級 上學(xué)期 地理 商務(wù)星球版《地球儀和經(jīng)緯網(wǎng)》導(dǎo)學(xué)案
- 2025年貴港貨運(yùn)資格證考試真題
- 2025年海南貨運(yùn)從業(yè)資格證考題500道
- 2025年淮安貨運(yùn)資格證題庫在線練習(xí)
- 2025年濟(jì)寧下載b2貨運(yùn)從業(yè)資格證模擬考試考試
- 以客戶滿意度為導(dǎo)向的卷煙行業(yè)服務(wù)優(yōu)化
- 信息倫理在實(shí)驗(yàn)室信息化建設(shè)中的體現(xiàn)
- 傳統(tǒng)文化教育與小學(xué)生綜合素質(zhì)的提升
- 農(nóng)業(yè)保險(xiǎn)助力農(nóng)村經(jīng)濟(jì)發(fā)展研究
- 橋梁墩、臺施工質(zhì)量控制要點(diǎn)
- 2023年冬季山東高中學(xué)業(yè)水平合格考政治試題真題(含答案)
- 急救知識與技術(shù)智慧樹知到期末考試答案章節(jié)答案2024年新疆巴音郭楞蒙古自治州衛(wèi)生學(xué)校
- 文藝復(fù)興經(jīng)典名著選讀智慧樹知到期末考試答案章節(jié)答案2024年北京大學(xué)
- 《風(fēng)電場項(xiàng)目經(jīng)濟(jì)評價(jià)規(guī)范》(NB-T 31085-2016)
- 勞務(wù)派遣勞務(wù)外包服務(wù)方案(技術(shù)方案)
- 2023年三級公共營養(yǎng)師《理論+技能》考試題庫(濃縮500多題)
- 步進(jìn)送料機(jī)設(shè)計(jì)終稿
- (精心整理)中國地形空白填圖
- 合理用藥檢查表(共4頁)
- 煙化爐(上海冶煉廠編)_圖文
- 滑坡監(jiān)測技術(shù)方案
評論
0/150
提交評論