數(shù)據(jù)結(jié)構(gòu)Hash查找_第1頁
數(shù)據(jù)結(jié)構(gòu)Hash查找_第2頁
數(shù)據(jù)結(jié)構(gòu)Hash查找_第3頁
數(shù)據(jù)結(jié)構(gòu)Hash查找_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、實驗五 hash查找題目:編制一個利用hash表進行查找的程序班級: 計科0906 姓名: 馬飛揚 學(xué)號: 200948140622 完成日期: - -一:需求分析1:利用hash函數(shù)建立哈希表,并采用鏈地址法處理沖突。然后進行查找操作驗證算法,表長由客戶輸入。二:概要設(shè)計1:在hash函數(shù)中p值采用了表長值,雖然會增加沖突發(fā)生的可能性,但能夠保證數(shù)據(jù)較均勻的分布于整個hash表中,在大量數(shù)據(jù)的情況下不至于浪費存儲空間。2:采用鏈地址法處理沖突雖然造成基于指針的操作較復(fù)雜,但能夠提高程序效率,降低時間復(fù)雜度。3:若要由客戶來決定表長,則必須用到動態(tài)開辟的知識,即動態(tài)開辟存儲空間。三:詳細(xì)設(shè)計#

2、includeusing namespace std;struct hashlian/定義hash表的結(jié)點存儲結(jié)構(gòu)int key;/存儲關(guān)鍵字hashlian*next;/地址指針;void main()int m=0;/int i=0;/int j=0;/輔助變量int weizhi=0;/記錄元素對應(yīng)的結(jié)點位置int find=0;/記錄待查找的元素int *data;/存儲要操作的數(shù)據(jù)hashlian*p1=null;/hashlian*p2=null;/指向結(jié)點的輔助指針hashlian*hash=null;/coutm;/輸入hash表長hash=new hashlianm;/存儲h

3、ash表data=new intm;/動態(tài)開辟存儲空間for(int ii=0;iim;ii+)/對hash表進行初始化hashii.key=-1;hashii.next=null;cout輸入數(shù)據(jù)(退出輸入-1)!endl;/coutdatai;/while(datai!=-1)/循環(huán)輸入待操作的數(shù)據(jù)if(i=m-1) i+; cout第i+1datai;elsecout越界了!endl;j=i;for(i=0;inext;while(p2!=null)/控制p2始終指向最后一個結(jié)點的下一位p1=p2;p2=p2-next;p2=new hashlian;p2-key=datai;/動態(tài)申請

4、空間進行存儲后再插入p2-next=null;p1-next=p2;coutfind;weizhi=find%m;/定位待查找數(shù)據(jù)的應(yīng)存儲位置p1=&hashweizhi;while(p1!=null)/從第一個位置開始循環(huán)查找直到最后一個結(jié)點的下一位if(p1-key=find)cout查找成功!next;if(p1=null)/全部查找后仍沒有則查找失敗cout查找失敗!endl; 四:調(diào)試分析在本次試驗中主要是在選擇hash函數(shù)中的p值時多考慮了一些因素,然后在基于鏈操作時遇到了一些小麻煩,其它的倒很簡單。由于時間比較緊迫,所以僅僅實現(xiàn)了查找操作,對于插入和刪除,有時間還要練一下。五:運行結(jié)果六:實驗環(huán)境1:window xp 系統(tǒng)下2:visual c+ 6.0 編程環(huán)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論