第八次上机作业 实验名称:查找算法的应用-哈希查找的实现 实验目的:复习巩固哈希函数及哈希表等有关 概念;掌握哈希表的创建过程的思想和算法实 现;掌握哈希査找的思想和算法实现
第八次上机作业 实验名称:查找算法的应用----哈希查找的实现 实验目的:复习巩固哈希函数及哈希表等有关 概念 ;掌握哈希表的创建过程的思想和算法实 现;掌握哈希查找的思想和算法实现
实验内容: 输入一组学生信息,采用除留余数法构造哈希函数, 采用线性探测再散列处理冲突,生成对应的哈希表。 哈希表地址空间从0到7,表长m=8。 1.编写创建哈希表的功能模块 学生信息所对应的数据类型定义如下: typedef struct student Rint num; char name 20; Int age, ISTUDENT 哈希表所对应一维数组的定义如下: #define m 8 STUDENT h[m];
• 实验内容: 输入一组学生信息,采用除留余数法构造哈希函数, 采用线性探测再散列处理冲突,生成对应的哈希表。 哈希表地址空间从0到7,表长m=8。 1. 编写创建哈希表的功能模块; 学生信息所对应的数据类型定义如下: typedef struct student {int num; char name[20]; int age; }STUDENT; 哈希表所对应一维数组的定义如下: #define m 8 STUDENT h[m];
2.编写输出哈希表的功能模块。 3.实现哈希査找算法。 即输入一个学生的编号,通过哈希查找算法在哈希 表上查找该编号所对应学生的信息。若查找成功, 输出该学生的学号、姓名和年龄;若查找失败, 输出相应的提示信息
2. 编写输出哈希表的功能模块。 3. 实现哈希查找算法。 即输入一个学生的编号,通过哈希查找算法在哈希 表上查找该编号所对应学生的信息。若查找成功, 输出该学生的学号、姓名和年龄;若查找失败, 输出相应的提示信息
提示: 哈希表的建立过程:从一个空的哈希表开始,逐个 输入每个元素,并通过进行线性探测为每一个元 素找到空位,将其放入哈希表中。 注意:在建立哈希表之前必须将表中所有单元的各 个数据项均置为0或空字符串(初始化空的哈希 表)。 2.哈希表的输出:将哈希表对应一维数组中所有元 素的下标和数据值逐个进行输出。 3.主函数的功能: (1)首先调用创建哈希表的函数建立哈希表 (2)调用哈希表输出函数输出所建立的哈希表; (3)调用哈希查找函数查找指定学号的学生
◼ 提示: 1. 哈希表的建立过程:从一个空的哈希表开始,逐个 输入每个元素,并通过进行线性探测为每一个元 素找到空位,将其放入哈希表中。 注意:在建立哈希表之前必须将表中所有单元的各 个数据项均置为0或空字符串(初始化空的哈希 表)。 2. 哈希表的输出:将哈希表对应一维数组中所有元 素的下标和数据值逐个进行输出。 3. 主函数的功能: (1)首先调用创建哈希表的函数建立哈希表; (2)调用哈希表输出函数输出所建立的哈希表; (3)调用哈希查找函数查找指定学号的学生