哈希表查找的设计

哈希表查找的设计

ID:69487952

大小:209.50 KB

页数:14页

时间:2021-11-05

哈希表查找的设计_第1页
哈希表查找的设计_第2页
哈希表查找的设计_第3页
哈希表查找的设计_第4页
哈希表查找的设计_第5页
哈希表查找的设计_第6页
哈希表查找的设计_第7页
哈希表查找的设计_第8页
哈希表查找的设计_第9页
哈希表查找的设计_第10页
资源描述:

《哈希表查找的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、..哈希表查找的设计一.问题描述:哈希表查找的设计:设哈希表长为20,用除留余数法构造一个哈希函数,以开放定址法中的线性探测再散列法作为解决冲突的方法,编程实现哈希表查找、插入和建立算法。二.需求分析:程序可实现用户与计算机的交互过程。在计算机显示提示信息后,可由用户键入运算命令以实现对应的功能,包含数据的录入、查找、删除、显示等功能。本程序旨在实现哈希函数的构造与处理存储冲突,因而指定哈希表存储的数据类型为简单的整型数字,在实用性上还有所欠缺。但根据用户需求的变化,可以对程序的根本数据类型进展改造,以实现更为丰富的功能,进而表达哈希表在查找数据时的优越性。

2、三.算法思想:在设定哈希表的抽象数据类型时,要有查找数据元素的操作。另外,插入操作和删除操作也要用到查找数据元素操作,以查看该数据元素是否存在,因此可以设计查找元素操作包括插入和删除操作的查找。因此,查找操作就有两种情况:一种情况是插入操作时寻找空闲单元的查找;另一种情况是在查找和删除操作时寻找该元素是否在哈希表中已存在的查找。插入操作时寻找空闲单元查找的特征是哈希表中不存在该对象,设计此时查找函数返回该空闲单元位置的“正〞值;查找和删除操作时寻找该元素是否在哈希表中已存在的特征是哈希表中已存在该数据元素,设计此时查找函数返回该数据单元位置的“负〞值。进而执

3、行后续操作。为了区分哈希表中每一个表元素的当前状态,为每一个表元素设置一个“..word.zl...标志〞定为tag。tag=0表示该元素为空;tag=1表示该元素以存放有数据元素;tag=-1表示该元素中存放的数据元素已被删除。判断当tag为0或-1时都可以进展插入操作。二.概要设计:1.哈希表抽象数据类型的定义:ADTHashTable{数据对象:D={ai

4、ai∈ElemSet,i=1,2,...n,n≥0}数据关系:R1={

5、ai-1∈D,i=1,2,...n}根本操作:Initiate(&h)操作结果:构造一个空的哈希表h。Sea

6、rchHash(h,x,p)初始条件:哈希表h已存在;p为除留余数法中除数,由用户指定。操作结果:查找表中元素与指定数据x比拟。元素已存在时返回其所在位置的负数下标、不存在时返回其位置的正数下标、遍历哈希表后未查找到时返回表长。Insert(&h,x,p)初始条件:哈希表h已存在。操作结果:查找操作后插入元素x至哈希表。假设元素已存在或哈希表已满时插入操作失败,返回值为0。Delete(&h,x,p)初始条件:哈希表h已存在。操作结果:查找操作后从哈希表中删除元素x。假设元素不在表中时删除操作失败,返回值为0。..word.zl...Print(h)初始条件

7、:哈希表h已存在。操作结果:显示哈希表中元素及存储状态。Clear(&h)初始条件:哈希表h已存在。操作结果:清空哈希表。}ADTHashTable2.程序模块:Hash.h——头文件,包含哈希表抽象数据类型。Hash.cpp——主程序,为哈希表操作面板。二.程序代码:——————Hash.h文件——————#include#include#include#include#include#defineTableSize20//哈希表长20#defineS

8、UCCESS1#defineUNSUCCESS0typedefintStatus;..word.zl...typedefstruct{//定义元素关键字类型intkey;}Elemtype;typedefstruct{//定义哈希表中根本单元,包含数据与标志两局部Elemtypeelem;//数据局部,存放关键字inttag;//标志局部,tag=0表示表单元为空,//tag=1表示表单元已存放数据元素,//tag=-1表示表单元中存放的数据已被删除}HashItem;typedefstruct{//定义哈希表,包含表单元数组与当前存储量HashItemta

9、ble[TableSize];intcurrentSize;//当前哈希表存储量}HashTable;StatusInitiate(HashTable*h){//初始化操作..word.zl...inti;for(i=0;i

10、操作inti=x.key%p;//除留余数法定哈希地

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

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

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