




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
哈希表實(shí)驗(yàn)報(bào)告題目:哈希表的設(shè)計(jì)及應(yīng)用班級(jí):031114 姓名:孟楊 學(xué)號(hào):03111392問(wèn)題描述給定一個(gè)英文段落(單詞個(gè)數(shù)<200),利用哈希表(表長(zhǎng)最大為20)統(tǒng)計(jì)單詞出現(xiàn)的頻度,并能根據(jù)要求顯示出給定單詞在段落中出現(xiàn)的位置?;疽蠊:瘮?shù)使用除留余數(shù)法構(gòu)造,使用鏈地址法進(jìn)行沖突處理。測(cè)試數(shù)據(jù)任意給定一個(gè)text文檔(包含一個(gè)英文段落)顯示出不同英文單詞的出現(xiàn)頻度。給定一個(gè)英文單詞,判斷段落中是否含有該單詞,如有,依次顯示出該單詞在段落中出現(xiàn)的位置。需求分析以單詞的每個(gè)字母與“a”的ASCII值的差的和除128取余為標(biāo)志(即數(shù)組下標(biāo))建立哈希表。(除留余數(shù)法構(gòu)造);如果有兩個(gè)單詞的標(biāo)志是相同的,則把后一個(gè)接到上一個(gè)的橫向(即二維數(shù)組第二維)后面。以此類(lèi)推。(鏈地址法進(jìn)行沖突處理);首先輸出哈希表,后可以輸入單詞查找,查找成功,顯示單詞,次數(shù)和位置。程序設(shè)計(jì)存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)structnode{stringword; 〃單詞inttimes; 〃出現(xiàn)次數(shù)intpos[1000]; 〃每次的位置};數(shù)據(jù)從文件hash_in.txt中讀入。建立哈希表intgethashcode(strings)//除數(shù)取余法獲得單詞標(biāo)志{intcode=0;for(inti=0;ivs.size();i++){code+=s[i]-'a';}returncode%mod;//mod宏定義為128}voidgethash(){stringstr;intindex,cnt=0;charch;while(!fin.eof()){〃fin?str;〃index=gethashcode(str);str="";while(!fin.eof()&&(ch=fin.get())&&!isalpha(ch));while(!fin.eof()&&isalpha(ch))str+=(char)ch;ch=fin.get();}if(fin.eof())break;if(str!="”)cnt++;〃用鏈地址法進(jìn)行沖突index=gethashcode(str);inti;〃用鏈地址法進(jìn)行沖突for(i=0;ivbook[index].size();i++)處理if(book[index][i].word==str){book[index][i].pos[book[index][i].times++]=cnt;break;}if(i==book[index].size()){nodetmp;tmp.times=O;tmp.word=str;tmp.pos[tmp.times++]=cnt;book[index].push_back(tmp);}}輸出哈希表voidoutputtxt(){coutvv"****************文本信息*************"vvendl;for(inti=0;ivmod;i++){if(book[i].size()!=0){for(intj=0;jvbook[i].size();j++){coutvvsetw(10)vvbook[i][j].wordvv"\t"vvsetw(3)vvbook[i][j].timesvv"\t"for(intk=0;k<book[i][j].times;k++){。0皿<<?00圖訂[]].卩0$[幻<<""}coutvvendl;}}}}査找哈希表voidsearch(strings)//查找{〃獲得要找的單詞的標(biāo)志〃比較標(biāo)志再分兩種情況判斷〃獲得要找的單詞的標(biāo)志〃比較標(biāo)志再分兩種情況判斷if(book[index].size()!=0){for(j=0;j<book[index].size();j++)〃標(biāo)志存在則查找標(biāo)志是否存在所找單詞(鏈地址法進(jìn)行沖突處理){if(book[index][j].word==s){coutvv"\t單詞次數(shù)出現(xiàn)的位置"vvendl;coutvvsetw(10)vvbook[index][j].wordvv"\t"vvsetw(3)vvbook[index][j].timesvv"\t";for(intk=0;kvbook[index][j].times;k++){coutvvbook[index][j].pos[k]vv""?}coutvvendl;break;}}if(j>=book[index].size())coutvv"****單詞不存在****"vvendl;coutvvendl;}}else{coutvv"****單詞不存在****"<<endl;coutvvendl;}}主函數(shù)設(shè)計(jì)#includeviostream>#includevcstdio>#includevcstdlib>#includevfstream>#includevcctype>#includevvector>#includeviomanip>#definemod128usingnamespacestd;structnode{stringword;inttimes;intpos[1000];};vector<node>book[mod];ifstreamfin;intmain(){if(-1==init())return0;gethash();coutvv"顯示哈希表5"<<6口小1;outputtxt();while(l){stringwordl;coutvv"請(qǐng)輸入要查找的單詞:"vvendl;cin>>word1;search(wordl);}return0;}調(diào)試數(shù)據(jù)Warning:Wrongnodetypefornode"data_in[10]"invectorsourcefile.DesignnodeisoftypeInput,butsignalinvectorsourcefileisoftypeBuried.調(diào)試結(jié)果請(qǐng)輸入要查找的單詞:asd****單詞不存在H請(qǐng)輸入要查找的單詞:'f單詞次數(shù)岀現(xiàn)的位萱of 2 16 26幘輸入要查找的單詞:butI 單詞次數(shù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級(jí)上冊(cè)數(shù)學(xué)教案-7.4分?jǐn)?shù)的初步認(rèn)識(shí)(一)練習(xí)十一 |蘇教版
- 六年級(jí)上冊(cè)數(shù)學(xué)教案-6.1 比的認(rèn)識(shí)(一)|北師大版
- 加法運(yùn)算律教案2024-2025學(xué)年數(shù)學(xué)四年級(jí)上冊(cè) 西師大版
- 2025年轉(zhuǎn)讓有限公司股權(quán)合同
- 一致行動(dòng)人協(xié)議(2025年版)-@-1
- 一年級(jí)上冊(cè)數(shù)學(xué)教案-總復(fù)習(xí)第1課時(shí)數(shù)與代數(shù)(1)∣北師大版
- 河南省三門(mén)峽市陜州區(qū)三年級(jí)英語(yǔ)下學(xué)期期中試題(人教PEP版-含答案)
- 《秋詞》歷年中考古詩(shī)欣賞試題匯編(截至2022年)
- 2025年河南省信陽(yáng)市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)及答案1套
- 2025年湖南鐵路科技職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)參考答案
- 2023智能低壓配電箱技術(shù)條件
- 加油站地罐交接及容積表關(guān)系
- 電信寬帶注銷(xiāo)委托書(shū)
- 新教材人教版高中數(shù)學(xué)必修第二冊(cè)全冊(cè)教案
- 班(組)戰(zhàn)斗動(dòng)作訓(xùn)練教案
- 農(nóng)產(chǎn)品電商運(yùn)營(yíng)-完整全套課件
- 唐河縣泌陽(yáng)凹陷郭橋天然堿礦產(chǎn)資源開(kāi)采與生態(tài)修復(fù)方案
- 科研項(xiàng)目匯報(bào)ppt
- 建設(shè)工程項(xiàng)目法律風(fēng)險(xiǎn)防控培訓(xùn)稿PPT講座
- “不作為、慢作為、亂作為”自查自糾報(bào)告范文(三篇)
- 上海市楊浦區(qū)2022屆初三中考二模英語(yǔ)試卷+答案
評(píng)論
0/150
提交評(píng)論