文档详情

哈希表实现号码查询实验报告.pdf

发布:2017-08-13约1.22万字共12页下载文档
文本预览下载声明
华北电力大学 实 验 报 告 | | 实验名称 哈希表 课程名称 数据结构 | | 专业班级: 学生姓名: 学 号: 成 绩: 指导教师: 实验日期: 华 北 电 力 大 学 实 验 报 告 一、实验目的 (1)掌握哈希表的基本操作。 (2)掌握插入、删除、查找等运算,能够灵活应用这种数据存储结构。 二、实验内容及要求 1.实验要求 设计哈希表实现电话号码查询系统。设计程序完成以下要求: (1)设每个记录有下列数据项:电话号码、用户名、地址; (2)从键盘输入各记录 ,以电话号码为关键字建立哈希表 (至少要有 12个以上的 记录,哈希表的长度为 8); (3)采用链地址法解决冲突; (4)显示建立好的哈希表,对于学有余力的同学可以实现哈希表的查找。 2.实验说明: (1)采用除留余数法进行哈希表的散列,即以电话号码作为主关键字,将电话号码 的 11位相加,按照模 7 取余; (2)解决冲突用链地址法。 3.实验数据: (1)姓名:张三 电话号码地址:保定 (2)姓名:李四 电话号码地址:石家庄…… 三、 实验仪器与设备 计算机,记事本,visual C++6.0 四、问题分析与系统设计 系统描述:设计哈希表实现电话号码查询系统。其中,电话号码的每个记录有三个 数据项:电话号码、用户名和地址;以电话号码为关键字建立哈希表;假定哈希表的长 度为 8,采用链地址法解决冲突。 处理信息 : 1. 采用除留余数法进行哈希表的散列,即以电话号码为主关键字,将电话号码 的 11位相加,按照模 7 取余; 2. 解决冲突用链地址法。 功能设计 : 1. 通过哈希表的构造存储电话号码的相关信息; 2. 能够遍历哈希表,显示所有数据; 3. 通过电话号码查找哈希表,显示与该电话号码有关的所有信息; 通过姓名查找哈希表,显示与该姓名有关的所有信息; 算法设计: 采用除留余数法进行哈希表的散列,解决冲突用链地址法。 第 页 共 页 华 北 电 力 大 学 实 验 报 告 1. 定义哈希表节点的结构体,包括数据域和指针域。 #define length 8 //length of list struct list //list { struct node *lnext;//point a record }lis[length]; struct node //record node { char name[8], address[20]; char num[11]; struct node *next; }; 2. 以电话号码为关键字,用除留余数法进行哈希表的散列
显示全部
相似文档