哈希表设计-数据结构课程设计报告书.docx
《哈希表设计-数据结构课程设计报告书.docx》由会员分享,可在线阅读,更多相关《哈希表设计-数据结构课程设计报告书.docx(8页珍藏版)》请在课桌文档上搜索。
1、实习6、哈希表设计一、 需求分析1. 问题描述针对某个集体比如你所在的班级中的“人名设计一个哈希表,使得平均查找长度均不超过R,完成相应的建表和查表顺序。2. 根本要求假设人名为中国人的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用伪随机探测再散列法处理冲突。3. 测试数据取读者周围较熟悉的30个人的。4. 实现提示 如果随机数自行构造,那么应首先调整好随机函数,使其分布均匀。人名的长度均不超过19个字符最长的人名如:庄双双Zhuang Shuangshuang。字符的取码方法可直接利用C语言中的toascii函数,并可先对过长的人名先作折叠
2、处理。二、概要设计ADT Hash 数据对象D:D是具有一样特征的数据元素的集合。各数据元素均含有类型一样,可唯一标识数据元素的关键字。数据关系R:数据元素同属一个集合。InitNameTable()操作结果:初始化表。CreateHashTable()操作结果:建立哈希表。DisplayNameTable()操作结果:显示表。DisplayHashTable()操作结果:显示哈希表。FindName()操作结果:查找。ADT Hash三、详细设计源代码使用C语言#include#include/time用到的头文件#include/随机数用到的头文件#include/toascii()用到的
3、头文件#include/查找时比拟用的头文件#define HASH_LEN 50/哈希表的长度#define P 47/小于哈希表长度的P#define NAME_LEN 30/表的长度typedef struct/表 char *py; /名字的拼音 int m; /拼音所对应的NAME;NAME NameTableHASH_LEN; /全局定义表typedef struct/哈希表 char *py; /名字的拼音 int m; /拼音所对应的ASCII总和 int si; /查找长度HASH;HASH HashTableHASH_LEN; /全局定义哈希表int d30,i,j; /全
4、局定义随机数,循环用的i、jvoid InitNameTable()/表的初始化 NameTable0.py=caowukui; NameTable1.py=langzhijie; NameTable2.py=dongshuliang; NameTable3.py=qiuhouyang; NameTable4.py=zhangxu; NameTable5.py=duhuan; NameTable6.py=fanqing; NameTable7.py=songxiaofei; NameTable8.py=dutongtong; NameTable9.py=sunhaohao; NameTable
5、10.py=shanjianfeng; NameTable11.py=wangbaoshan; NameTable12.py=houfeng; NameTable13.py=hujiaming; NameTable14.py=jiangkaiqiang; NameTable15.py=xuyang; NameTable16.py=lvdelu; NameTable17.py=shenjinfeng; NameTable18.py=xuhui; NameTable19.py=hanle; NameTable20.py=xunwenwen; NameTable21.py=chenhongcong;
6、 NameTable22.py=zhangyanyan; NameTable23.py=nieyanshun; NameTable24.py=haopengcheng; NameTable25.py=yuhaiyuan; NameTable26.py=shuxiang; NameTable27.py=sunyingjie; NameTable28.py=wangbo; NameTable29.py=zhaoqing; NameTable30.py=zhangshengqian;for (i=0;iNAME_LEN;i+) /将字符串的各个字符所对应的ASCII码相加,所得的整数做为哈希表的关键
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈希表 设计 数据结构 课程设计 报告书
链接地址:https://www.desk33.com/p-17587.html