数据结构课程设计-哈希表设计

数据结构课程设计-哈希表设计

ID:8325188

大小:186.00 KB

页数:12页

时间:2018-03-19

数据结构课程设计-哈希表设计_第1页
数据结构课程设计-哈希表设计_第2页
数据结构课程设计-哈希表设计_第3页
数据结构课程设计-哈希表设计_第4页
数据结构课程设计-哈希表设计_第5页
资源描述:

《数据结构课程设计-哈希表设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数据结构课程设计(哈希表设计)哈希表设计一.需求分析1.1针对某个集体中的人名设计一个哈希表,使得平均查找长度不超过R,完成相应的建立和查表程序.1.2人名为汉语拼音形式,最长不超过19个字符(如:庄双双zhuangshuangshuang).1.3假设待填入哈希表的人名有30个,平均查找长度为2。哈希表用除留余数法构造,用伪随机探测在散列法处理冲突。1.4测试数据:1)输入数据:zengqinhui,mayuelong,chenzhicheng,sunpeng,wanghui,liqingbo,liujunpeng,jiangquanlei,xingzhengchuan,luzhaoqia

2、n,gaowenhu,zhuhaoyin,chenlili,wuyunyun,huangjuanxia,wangyan,zhoutao,jiangzhenyu,liuxiaolong,wangziming,fengjunbo,lilei,wangjia,zhangjianguo,zhuqingqing,huangmin,haoyuhan,zhoutao,zhujiang,lixiaojun.2)D.显示哈希表地址关键字搜索长度H(key)姓名0010(null)1150511xingzhengchuan2108312wangziming375513wanghui499114zhuhaoyin

3、575715wangyan6127223jiangquanlei785317liqingbo8108918liujunpeng985519huangmin10527110lilei110120(null)12979339lixiaojun13108433luzhaoqian141283114huangjuanxia15861115haoyuhan16768116sunpeng17000181193118zengqinghui19862216gaowenhu201195120liuxiaolong211196121jiangzhenhu221285216zhangjianguo23864218

4、zhujiang240002500011数据结构课程设计(哈希表设计)26778126zhuotao27958218fengjunbo2800029000301205130zhuqingqing3100032737132wangjia330003400035778226zhuotao3600037977137mayuelong3800039932139wuyunyun401262140chenzhicheng41840141chenlili4200043000440004500046000470004800049000平均查找长度:ASL(30)=1.F.查找请输入姓名的拼音:wangjia

5、结果:姓名:wangjia关键字:737查找长度为:1请输入姓名的拼音:luzhaoqian结果:姓名:luzhaoqian关键字:1084查找长度为:3请输入姓名的拼音:luzhao结果:无此记录Q.退出y结果:Pressangkeytocontinue二.概要设计2.1基本操作voidInitNameList()姓名(结构体数组)初始化操作结果:名字以拼音的形式够成字符串,将字符串的各个字符所对应的ASCII码相加,所得的整数做为哈希表的关键字。voidCreateHashList()建立哈希表操作结果:(1)用除留余数法构建哈希函数11数据结构课程设计(哈希表设计)(2)用伪随机探测再

6、散列法处理冲突voidFindList()查找哈希表操作结果:在哈希表中进行查找,输出查找的结果和关键字,并计算和输出查找成功的平均查找长度voidDisplay()操作结果:显示哈希表的的格式:地址t关键字tt搜索长度tH(key)t姓名voidmain()主函数设计操作结果:主函数显示格式:D.显示哈希表F.查找Q.退出请选择:2.2主程序Voidmain(){初始化;While(命令!=退出){接受命令;处理命令;}}2.3模块调用关系主函数模块显示模块查找模块哈希表模块初始化模块三.详细设计3.1存储结构设计typedefstruct{char*py;/

7、/名字的拼音intk;//拼音所对应的整数}NAME;typedefstruct//哈希表{char*py;//名字的拼音intk;//拼音所对应的整数11数据结构课程设计(哈希表设计)intsi;//查找长度}HASH;3.2姓名(结构体数组)初始化名字以拼音的形式够成字符串,将字符串的各个字符所对应的ASCII码相加,所得的整数做为哈希表的关键字。voidInitNameList(){char*f;int

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。