第一篇:數據結構課程設計之姓名哈希表的建立及查找
武漢理工大學《數據結構》課程設計說明書
課程設計任務書
學生姓名: 劉穎 專業班級: 計科1003班 指導教師: 譚新明 工作單位: 計算機科學系 題 目: 哈希表的設計與實現 初始條件:
針對某個集體(比如你所在的班級)中的“人名”設計并實現一個哈希表,使得平均查找長度不超過R,完成相應的建表和查表程序。
(1)假設人名為中國人姓名的漢語拼音形式。待填入哈希表的人名共有30個,取平均查找長度的上限為2。
(2)哈希函數用除留余數法構造
(3)用偽隨機探測再散列法處理沖突。
(4)測試用例見嚴蔚敏《數據結構習題集(C語言版)》p166。
要求完成的主要任務:(包括課程設計工作量及其技術要求,以及說明書撰寫等具體要求)
課程設計報告按學校規定格式用A4紙打印(書寫),并應包含如下內容:
1.問題描述
簡述題目要解決的問題是什么。2.設計
存儲結構設計、主要算法設計(用類C/C++語言或用框圖描述)、測試用例設計; 3.調試報告
調試過程中遇到的問題是如何解決的;對設計和編碼的討論和分析。4.經驗和體會(包括對算法改進的設想)
5.附源程序清單和運行結果。源程序要加注釋。如果題目規定了測試數據,則運行結果要包含這些測試數據和運行輸出。
說明:
1.設計報告、程序不得相互抄襲和拷貝;若有雷同,則所有雷同者成績均為0分。2.凡拷貝往年任務書或課程設計充數者,成績一律無效,以0分記。
時間安排: 1、6月15日~6月21日完成。2、6月22日上午和下午在實驗中心檢查程序、交課程設計報告、源程序(U盤)。
指導教師簽名: 2012年6月14日 系主任(或責任教師)簽名: 年 月 日
武漢理工大學《數據結構》課程設計說明書
目錄
1問題分析和任務定義...............................................3 1.1問題描述.......................................................3 1.2問題分析.......................................................3 2開發平臺.........................................................3 3數據類型和系統設計...............................................3 3.1存儲結構設計...................................................3 3.2主要算法設計...................................................4 3.2.1姓名結構體數組初始化.........................................4 3.2.2獲取關鍵碼...................................................5 3.2.3哈希表結構體數組初始化.......................................5 3.2.4構造哈希表...................................................5 3.2.5打印哈希表...................................................6 3.2.6在哈希表中查找姓名...........................................6 4調試結果與運行情況分析...........................................8 4.1程序運行結果...................................................8 4.2運行情況分析...................................................9 4.3算法的時間復雜度...............................................9 5自我評價與總結...................................................9 6參考文獻........................................................10 7附:源代碼......................................................11
武漢理工大學《數據結構》課程設計說明書
哈希表的設計與實現
1問題分析和任務定義
1.1問題描述
設計哈希表,要求用除留余數法構造哈希函數,用偽隨機探測再散列法處理沖突,使平均查找長度的上限為2。待填入哈希表的人名共有30個,且為中國人姓名的漢語拼音形式。
1.2問題分析
(1)待填入哈希表的人名有30個,平均查找長度的上限為2。用除留余數法構造哈希表,用偽隨機探測再散列法處理沖突,完成相應的建立和查表程序。
(2)人名為漢語拼音形式,最長不超過20個字符。
(3)查找成功時,顯示姓名、關鍵字、初散列值、再散列值、哈希表中的位置及查找長度;查找失敗時,顯示無此記錄。
(4)可多次查找,繼續查找輸入1,退退出輸入0。
2開發平臺
系統:Windows 7 開發工具:Visual studio 2008 語言:C++ 3數據類型和系統設計
3.1 存儲結構設計
typedef struct {
int key;
char *p;}NAME;
武漢理工大學《數據結構》課程設計說明書
typedef struct {
int key;//關鍵字
int hash;//初始地址
int reha;//再散列值
char *p;//名字
int l;//查找長度 }HASH;3.2主要算法設計
3.2.1 NAME(結構體數組)初始化
NAME a[30];a[0].p=“wangjunzhe”;a[1].p=“mahaiping”;a[2].p=“luozijian”;a[3].p=“luoxiangzhou”;a[4].p=“zhangkai”;a[5].p=“fengyuyang”;a[6].p=“wuzhenzhen”;a[7].p=“haokaiqi”;a[8].p=“caopu”;a[9].p=“liuying”;a[10].p=“cuijuan”;a[11].p=“hanqianqiqn”;a[12].p=“lixiaoyu”;a[13].p=“caoyingnan”;a[14].p=“jinbaoyu”;a[15].p=“zhaduo”;a[16].p=“wenbo”;a[17].p=“cuichangwei”;a[18].p=“zhangqiu”;a[19].p=“luopeng”;a[20].p=“hudie”;a[21].p=“xieshanshan”;a[22].p=“liming”;a[23].p=“zhangshuai”;a[24].p=“qiuyajun”;a[25].p=“yanruibin”;a[26].p=“jiangwei”;a[27].p=“fangzhaohua”;a[28].p=“yujia”;
武漢理工大學《數據結構》課程設計說明書
a[29].p=“liuzhenzhen”;3.2.2獲取關鍵碼
字符串的各個字符所對應的ASCII碼相加,所得的整數做為關鍵字。
int i,s,r;for(i=0;i<30;i++){
s=0;for(r=0;*(a[i].p+r)!=' 主站蜘蛛池模板: 国产成人亚洲综合图区| 亚洲成a v人片在线观看| 久久久噜噜噜久久久精品| 波多野结衣av一区二区三区中文| 亚洲色婷婷综合久久| 在线亚洲高清揄拍自拍一品区| 久久人人妻人人爽人人爽| 久久久精品久久久久久96| 在线天堂中文www官网| 999久久久精品国产消防器材| 窝窝午夜福利无码电影| 女人下边被添全过视频| 狠狠躁夜夜躁青青草原| 护士脱了内裤让我爽了一夜视频| 艳妇荡女欲乱双飞两中年熟妇| 亚洲综合在线一区二区三区| 色婷婷狠狠久久综合五月| 欧洲免费一区二区三区视频| 久久人妻av无码中文专区| 激情综合一区二区三区| 无遮挡亲胸捏胸免费视频| 国产av一二三无码影片| 中文字幕人妻丝袜二区| 日本爽爽爽爽爽爽在线观看免| 一 级做人爱全视频在线看| 国产人成精品香港三级在线| 色综合欧美亚洲国产| 无码人妻专区免费视频| 日本乱子伦一区二区三区| 久青青在线观看视频国产| 国产97在线 | 中文| 天天狠天天添日日拍捆绑调教| 午夜家庭影院| 丁香婷婷综合激情五月色| 777国产偷窥盗摄精品品在线| 久久久久99精品成人片欧美| 国产精品成年片在线观看| 日韩吃奶摸下aa片免费观看| 亚洲大尺度无码无码专线| 极品av麻豆国产在线观看| 亚洲精品无码av专区最新|