没有合适的资源?快使用搜索试试~ 我知道了~
首页哈希表的设计与性能分析——C语言
资源详情
资源评论
资源推荐

南京工程学院
课程设计说明书
(论文)
题 目 哈希表的设计与性能分析
课 程 名 称 数据结构
院(系、部) 通信工程学院
专 业 计算机通信
班 级 算通
091
学 生 姓 名 伊海波
学 号 2080903 22
设 计 地 点 信息楼
C205
指 导 教 师 吴海涛
成绩

设计起止时间:2011 年 1 月 4 日至 2011 年 1 月 7 日
目 录
1.功能描述(或设计目标)...............................................................................................................3
2.总体设计(或概要设计)...............................................................................................................3
2.1 数据结构描述与定义............................................................................................................4
2.2 模块设计................................................................................................................................4
3.测试结果与分析...............................................................................................................................8
4.课程设计总结.................................................................................................................................10
参考文献:..............................................................................................................................................11

1.功能描述(或设计目标)
哈希表的设计与性能分析
要求:(1)数据结构的定义
(2)哈希表中,哈希函数构造方法多种多样,同时对于同一哈希函数解决
冲突的方法也可以不同。两者是影响查询算法性能的关键因素。对于几
种典型的哈希函数构造方法,做实验观察,不同的解决冲突方法对查询
性能的影响(平均查找长度).
处理冲突的实际含义是:为产生冲突的地址寻找下一个哈希地址。
(1)开放定址法
为产生冲突的地址 H(key)求得一个地址序列:
H0, H1, H2, …, Hs 1≤s≤m-1
其中:H0 = H(key)
Hi = ( H(key) + di ) MOD m i=1, 2, …,s
(2)链地址法
将所有哈希地址相同的记录都链接在同一链表中。
线性探测容易产生二次聚集,链地址肯定不会产生二次聚集。一次聚集
的产生主要取决于哈希函数,在哈希函数均匀的前提下,可以认为没有
一次聚集。
2.总体设计(或概要设计)
第 3 页 共 17 页
退
出
系
统
链
地
址
法
除
数
余
留
法
课
程
设
计
要
求
哈希表的设计

2.1 数据结构描述与定义
除数余留法
#define hashlen 11 //哈希表长
Int h[hashlen]={0}; //初始哈希表
int status[hashlen]={0}; //状态数组
用链地址法数据结构定义:
typedef struct employee
{
int key_code;
struct employee *next;
}Employee;
typedef struct hashtable
{
int key;
struct employee *next;
}HashTable[MAX];
2.2 模块设计
系统共分几个模块,每个模块的算法描述及流程图(核心模块)
除数余留法:
Hash_Create:
第 4 页 共 17 页
开始
剩余16页未读,继续阅读
安全验证
文档复制为VIP权益,开通VIP直接复制

评论1