




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、程序設(shè)計(jì)與算法分析實(shí)驗(yàn)報(bào)告一 設(shè)計(jì)的目的與內(nèi)容1.設(shè)計(jì)目的通過(guò)本實(shí)驗(yàn)需要掌握構(gòu)造哈希函數(shù)表,需要完成設(shè)計(jì)構(gòu)造哈希表的 完整算法,并求出平均查找長(zhǎng)度。2 實(shí)驗(yàn)內(nèi)容使用哈希函數(shù):H(K)=3*K MOD 11 并采用開(kāi)放地址法解決沖突,試在0到10的散列地址空間對(duì)關(guān)鍵字序列( 22, 41, 53, 46, 30,13, 01,67)構(gòu)造哈希函數(shù)表,并設(shè)計(jì)構(gòu)造哈希表的完整算法,并求出平均查找長(zhǎng)度。二 算法的基本思想1. 數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)哈希函數(shù) H ( key ) =3* key mod 11,哈希表的地址空間為 0 10,對(duì)關(guān)鍵字序列( 22, 41, 53, 46, 30,13, 01,67)按
2、線性探測(cè)再散列和二次探測(cè)再散列的方法分別構(gòu)造哈希表。 ( 1 )線性探測(cè)再散列: 3*22 11 = 0; 3*41 11=2 ; 3*53 11 = 5 ;3* 46%11=6;3*30%11=2發(fā)生沖突,下一個(gè)存儲(chǔ)地址( 2 1 ) 11 3 ;3*13%11=6發(fā)生沖突,下一個(gè)存儲(chǔ)地址( 6 1 ) 11 7 ;3*01%11=3發(fā)生沖突,下一個(gè)存儲(chǔ)地址( 3 1 ) 11 4 ;3*67%11=3發(fā)生沖突,下一個(gè)存儲(chǔ)地址是:( 3 1 ) 11 4 發(fā)生沖突; 下一個(gè)存儲(chǔ)地址( 4 + 1 )%11=5發(fā)生沖突; 下一個(gè)存儲(chǔ)地址( 5 + 1 )%11=6發(fā)生沖突;下一個(gè)存儲(chǔ)地址( 6
3、+ 1 )%11=7發(fā)生沖突;下一個(gè)存儲(chǔ)地址( 7 + 1 )%11=8未發(fā)生沖突。2.算法的基本思想 開(kāi)放地址法 這個(gè)方法的基本思想是:當(dāng)發(fā)生地址沖突時(shí),按照某種方法繼續(xù)探測(cè)哈希表中的其他存儲(chǔ)單元,直到找到空位置為止。這個(gè)過(guò)程可用下式描述: H i ( key ) = ( H ( key )+ d i ) mod m ( i = 1,2, , k ( k m 1) 其中: H ( key ) 為關(guān)鍵字 key 的直接哈希地址, m 為哈希表的長(zhǎng)度, di 為每次再探測(cè)時(shí)的地址增量。 采用這種方法時(shí),首先計(jì)算出元素的直接哈希地址 H ( key ) ,如果該存儲(chǔ)單元已被其他元素占用,則繼續(xù)查看
4、地址為 H ( key ) + d 2 的存儲(chǔ)單元,如此重復(fù)直至找到某個(gè)存儲(chǔ)單元為空時(shí),將關(guān)鍵字為 key 的數(shù)據(jù)元素存放到該單元。 增量 d 可以有不同的取法,并根據(jù)其取法有不同的稱呼: ( 1 ) d i 1 , 2 , 3 , 線性探測(cè)再散列; ( 2 ) d i 12 , 12 , 22 , 22 , k2, -k2 二次探測(cè)再散列;( 3 ) d i 偽隨機(jī)序列 偽隨機(jī)再散列; 三 源程序代碼及測(cè)試結(jié)果1. 源程序代碼#include<iostream.h>#include<iomanip.h>#define M 11#define N 8struct hte
5、rmint key; /關(guān)鍵字值int si; /散列次數(shù);struct hterm hlistM;int i,adr,sum,d;int xN=22,41,53,46,30,13,1,67; /關(guān)鍵字賦值float average;void chash() /創(chuàng)建哈希表for (i=0;i<M;i+)hlisti.key=0;hlisti.si=0;for (i=0;i<N;i+) sum=0;adr=(3*xi)%M;d=adr;if (hlistadr.key=0)hlistadr.key=xi;hlistadr.si=1;elsedo /沖突處理d=(d+1)%M;sum=
6、sum+1;while (hlistd.key!=0);hlistd.key=xi;hlistd.si=sum+1;void dhash() /輸出哈希表cout <<" 哈希表地址:"for(i=0;i<M;i+)cout << setw(4) <<i;cout << endl;cout<<"哈希表關(guān)鍵字:"for (i=0;i<M;i+)cout<< setw(4) << hlisti.key;cout << endl;cout <<
7、; " 搜索長(zhǎng)度:"for (i=0;i<M;i+)cout << setw(4) << hlisti.si;cout << endl;average=0;for (i=0;i<M;i+)average=average+hlisti.si;average=average/N;cout << "平均搜索長(zhǎng)度: ASL("<< N <<")="<< average << endl;void main()chash();dhash()
8、; 2. 測(cè)試結(jié)果3. 存在的問(wèn)題及解決解決方法:struct htermint key; /關(guān)鍵字值int si; /散列次數(shù)“”后面少了一個(gè)“; ”。四 分析與討論( 1 )線性探測(cè)再散列: 22 11 = 0; 41 11=8 ; 53 11 = 9 ; 46%11=2;30%11=7;13%11=2發(fā)生沖突,下一個(gè)存儲(chǔ)地址( 2 1 ) 11 3 ;01%11=1;67%11=1發(fā)生沖突,下一個(gè)存儲(chǔ)地址是:( 1 1 ) 11 2 發(fā)生沖突; 下一個(gè)存儲(chǔ)地址( 2 + 1 )%11=3發(fā)生沖突; 下一個(gè)存儲(chǔ)地址( 3 + 1 )%11=4未發(fā)生沖突。五 心的體會(huì)在這次數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)中遇到了很多實(shí)際性的問(wèn)題,在實(shí)際設(shè)計(jì)才發(fā)現(xiàn),書(shū)本上理論性的東西和在實(shí)際運(yùn)用中的還是
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新年公司創(chuàng)意盤(pán)點(diǎn)活動(dòng)方案
- 早教活動(dòng)策劃方案
- 新年誦讀祈?;顒?dòng)方案
- 廣西農(nóng)業(yè)工程職業(yè)技術(shù)學(xué)院《工程招投標(biāo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 巴中職業(yè)技術(shù)學(xué)院《檢驗(yàn)試劑的制備與評(píng)價(jià)》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆肉孜節(jié)活動(dòng)方案
- 2025屆浙江省臺(tái)州市數(shù)學(xué)七上期末檢測(cè)試題含解析
- 上饒職業(yè)技術(shù)學(xué)院《病案管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 三峽電力職業(yè)學(xué)院《中國(guó)女性文學(xué)研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 新吳區(qū)常規(guī)送水活動(dòng)方案
- 2025年7月浙江省普通高中學(xué)業(yè)水平考試歷史仿真模擬卷01(含答案)
- 安寧療護(hù)病管理制度
- 胸痛中心問(wèn)題整改匯報(bào)課件
- 混凝土基層檢驗(yàn)批質(zhì)量檢驗(yàn)記錄
- 食品加工與保藏原理期末考試復(fù)習(xí)題及參考答案
- 主播藝人入職面試信息登記表
- 特應(yīng)性皮炎的診斷與治療課件
- 2016-2023年浙江新高考英語(yǔ)讀后續(xù)寫(xiě)試題真題及范文賞析
- 2023數(shù)學(xué)建模國(guó)賽A題優(yōu)秀
- 山西省貫徹《二手車流通管理辦法》實(shí)施細(xì)則
- 社區(qū)工作者經(jīng)典備考題庫(kù)(必背300題)
評(píng)論
0/150
提交評(píng)論