資源描述:
《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計_哈希表實(shí)驗(yàn)報告.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、福建工程學(xué)院課程設(shè)計課程:算法與數(shù)據(jù)結(jié)構(gòu)題目:哈希表專業(yè):網(wǎng)絡(luò)工程班級:xxxxxx班座號:xxxxxxxxxxxx:xxxxxxx2011年12月31日...實(shí)驗(yàn)題目:哈希表一、要解決的問題針對同班同學(xué)信息設(shè)計一個通訊錄,學(xué)生信息有,學(xué)號,等。以學(xué)生為關(guān)鍵字設(shè)計哈希表,并完成相應(yīng)的建表和查表程序?;疽螅阂詽h語拼音形式,待填入哈希表的人名約30個,自行設(shè)計哈希函數(shù),用線性探測再散列法或鏈地址法處理沖突;在查找的過程中給出比較的次數(shù)。完成按查詢的操作。運(yùn)行的環(huán)境:MicrosoftVisualC++6.0二、算法基本思想描述設(shè)計一個哈希表(哈希表的元素為自定義的結(jié)構(gòu)體)用來存放待填
2、入的30個人名,人名為中國的漢語拼音形式,用除留余數(shù)法構(gòu)造哈希函數(shù),用線性探查法解決哈希沖突。建立哈希表并且將其顯示出來。通過要查找的關(guān)鍵字用哈希函數(shù)計算出相應(yīng)的地址來查找人名。通過循環(huán)語句調(diào)用數(shù)組中保存的數(shù)據(jù)來顯示哈希表。三、設(shè)計1、數(shù)據(jù)結(jié)構(gòu)的設(shè)計和說明(1)結(jié)構(gòu)體的定義typedefstruct//記錄{NAname;NAxuehao;NAtel;}Record;錄入信息結(jié)構(gòu)體的定義,包含,學(xué)號,。typedefstruct//哈希表{Record*elem[HASHSIZE];//數(shù)據(jù)元素存儲基址intcount;//當(dāng)前數(shù)據(jù)元素個數(shù)intsize;//當(dāng)前容量}HashTab
3、le;哈希表元素的定義,包含數(shù)據(jù)元素存儲基址、數(shù)據(jù)元素個數(shù)、當(dāng)前容量。2、關(guān)鍵算法的設(shè)計(1)的折疊處理longfold(NAs)//人名的折疊處理...{char*p;longsum=0;NAss;strcpy(ss,s);//復(fù)制字符串,不改變原字符串的大小寫strupr(ss);//將字符串ss轉(zhuǎn)換為大寫形式p=ss;while(*p!='