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