版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)五 查找實(shí)驗(yàn)?zāi)康? ) 掌握哈希表的構(gòu)造和查找過程及其算法設(shè)計;2 ) 掌握哈希表的平均查找長度的計算。實(shí)驗(yàn)內(nèi)容編寫程序,實(shí)現(xiàn)哈希表的相關(guān)運(yùn)算,并完成以下功能:建立關(guān)鍵字序列( 16, 74, 60, 43, 54, 90 , 46, 31, 29, 88 , 77)對應(yīng)的哈希表A0.12 ,哈希函數(shù)為 H(k)=k%13 ,并采用開放地址法中的線性探測法解決沖突。要求輸出構(gòu)造的哈希表。在上述哈希表中查找關(guān)鍵字為29 的記錄,輸出其位置和比較次數(shù);在上述哈希表中刪除關(guān)鍵字為77 的記錄,再將其插入。輸出上述哈希表查找成功時的平均查找長度。設(shè)計思路及程序代碼(包括程序結(jié)構(gòu)(即函數(shù)調(diào)用關(guān)系)
2、、算法功能描述或流程圖、程序代碼)#include#define MaxSize 100#define NULLKEY -1#define DELKEY -2typedef int KeyType;typedef char *InfoType;typedef structKeyType key;InfoType data;int count;HashData;typedef HashData HashTableMaxSize;void InsertHT(HashTable ha,int&n,KeyType k,int p)/將關(guān)鍵字 k 插入到哈希表中int i,adr;adr=k%p;if(
3、haadr.key=NULLKEY|haadr.key=DELKEY)/xj 可以直接放在哈希表中 haadr.key=k;haadr.count=1;elsei=1;doadr=(adr+1)%p;i+;while(haadr.key!=NULLKEY&haadr.key!=DELKEY);haadr.key=k;haadr.count=i;n+;void CreateHT(HashTable ha,KeyType x,int n,int m,int p)/創(chuàng)建哈希表int i,n1=0;for(i=0;im;i+)/ 哈希表置初值hai.key=NULLKEY;hai.count=0;fo
4、r(i=0;in;i+)InsertHT(ha,n1,xi,p);int SearchHT(HashTable ha,int p,KeyType k)/ 在哈希表中查找關(guān)鍵字kint i=0,adr;adr=k%p;while(haadr.key!=NULLKEY&haadr.key!=k)i+;/ 采用線性探查找下一個地址adr=(adr+1)%p;if(haadr.key=k)/ 查找成功return adr;else return -1;/ 查找失敗int DeleteHT(HashTable ha,int p,int k,int &n)/ 刪除哈希表中的關(guān)鍵字 int adr;adr=
5、SearchHT(ha,p,k);if(adr!=-1)/ 在哈希表中找到該關(guān)鍵字haadr.key=DELKEY;n-;/ 哈希表的長度減1return 1;else/ 在哈希表中未找到該關(guān)鍵字return 0;void DispHT(HashTable ha,int n,int m)/ 輸出哈希表float avg=0;int i;printf( 哈希表的地址:t);for(i=0;im;i+)printf(%3d,i);printf(n);printf( 哈希表的關(guān)鍵字為 :t);for(i=0;im;i+)if(hai.key=NULLKEY|hai.key=DELKEY) print
6、f( );elseprintf(%3d,hai.key);printf(n);void ASL(HashTable ha,int n,int m,int p)/求平均查找長度int i;int succ=0,unsucc=0;for(i=0;im;i+)if(hai.key!=NULLKEY)succ+=hai.count;/ 累計成功時的總關(guān)鍵字比較次數(shù)printf( 成功情況下ASL(%d)=%gn,n,succ*1.0/n);int main()int x=16,74,60,43,54,90,46,31,29,88,77;int n=11,m=13,p=13,i,k=29;HashTab
7、le ha;printf(1)n);CreateHT(ha,x,n,m,p);/ 構(gòu)造哈希表printf(n);DispHT(ha,n,m);/ 輸出哈希表printf(2)n);printf( 查找關(guān)鍵字 29 的記錄 :n);i=SearchHT(ha,p,k);if(i!=-1)printf(ha%d.key=%dn,i,k);printf( 查找關(guān)鍵字 29 的比較次數(shù)為 :%dn,i);elseprintf( 未找到 %dn,k);printf(3)n);k=77;printf( 刪除關(guān)鍵字 %d:n,k);DeleteHT(ha,p,k,n);DispHT(ha,n,m);/ 輸出
8、哈希表i=SearchHT(ha,p,k);if(i!=-1)printf(ha%d.key=%dn,i,k);elseprintf( 未找到 %dn,k);printf( 將刪除的關(guān)鍵字 77 重新插入 :n,k);/ 重新插入關(guān)鍵字77InsertHT(ha,n,k,p);DispHT(ha,n,m);printf(4)n);printf( 查找成功的平均長度為 :n);ASL(ha,n,m,p);return 0;測試結(jié)果(程序運(yùn)行結(jié)果采用截圖的方式打印)* ,L:Debug5555xxe,哈希表的地址:0122哈箝泰的美鎮(zhèn)宇為二77(2J怪找關(guān)鍵字29的記大m.b. key=29國我關(guān)鍵字加的匕減不圾為不 刪除關(guān)鍵字可哈髭表的加圻:(:1 2 3哈花表的關(guān)鍵字為: 未找于m杼刪除的關(guān)鍵字在重新氏74 5 6 754 16 43 31a29g i o n is 46 60 74 eesoq ID 11 1254 16 必 3129 4a 74 3哈春表的地西: L 哈希表的關(guān)鍵字力:3 g 10
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 百萬英鎊讀書心得總結(jié)
- 工地工程轉(zhuǎn)讓合同范例
- 保健品選擇與推廣
- 建筑班組施工合同模板
- 客戶回寄合同范例
- 修身的國旗下講話稿:勤以修身 勉以養(yǎng)德
- 藝術(shù)的魅力與影響
- 《篇產(chǎn)業(yè)組織》課件
- 老年人如何預(yù)防尿路感染
- 工地電纜線購買合同范例
- 2023年制藥設(shè)備行業(yè)分析報告及未來五至十年行業(yè)發(fā)展報告
- 期中測試卷(試題)-2024-2025學(xué)年三年級上冊語文統(tǒng)編版
- 醫(yī)學(xué)教材打印版護(hù)士首次執(zhí)業(yè)注冊體檢表
- 《月圓中秋節(jié):1 對月當(dāng)歌》教學(xué)設(shè)計-2024-2025學(xué)年五年級上冊綜合實(shí)踐活動滬科黔科版
- 2024秋國家開放大學(xué)《形勢與政策》大作業(yè)參考答案 二
- 2024秋國家開放大學(xué)《形勢與政策》專題測驗(yàn)及大作業(yè)參考答案
- 2025屆高考語文復(fù)習(xí):文言文翻譯 課件
- 2《伶官傳序》公開課一等獎創(chuàng)新教學(xué)設(shè)計 統(tǒng)編版高中語文選擇性必修中冊
- 2024比亞迪出海專題報告(空間、格局、進(jìn)展、展望)-2024-09-企業(yè)研究
- 5 各種各樣的天氣(教學(xué)設(shè)計)教科版二年級科學(xué)上冊
- 【億歐智庫】2024中國AI商業(yè)落地投資價值研究報告:論決策式與生成式AI在垂類行業(yè)的應(yīng)用價值
評論
0/150
提交評論