1、 1 / 19 课课 程程 设设 计计 题题 目目 哈希表及其应用 教教 学学 院院 计算机学院 专专 业业 班班 级级 姓姓 名名 指导教师指导教师 年 月 日 2 / 19 课程设计任务书课程设计任务书 2010 2010 学年第 1 学期 一、课程设计题目一、课程设计题目 哈希表及其应用 二、课程设计内容二、课程设计内容 建立一个小型信息管理系统(可以是图书、人事、学生、物资、商品等任何 信息管理系统) 。要求: 1.使用哈希查找表存储信息; 2.实现查找、插入、删除、统计、输出等功能; 三、进度安排三、进度安排 1初步完成总体设计,搭好框架; 2完成最低要求:尝试使用多种哈希函数和冲突
2、解决方法,并通过实际运 行测试给出自己的评价 四、基本要求四、基本要求 1界面友好,函数功能要划分好 2程序要加必要的注释 3要提供程序测试方案 教研室主任签名: 年 月 日 3 / 19 目目 录录 1 1 概述概述4 2 2 设计目的设计目的4 3 3 设计功能说明设计功能说明4 4 4 详细设计说明详细设计说明5 5 5 流程图流程图5 6 6 程序代码程序代码6 7 7 程序运行程序运行结果结果15 8 8 总结总结19 参考文献参考文献 19 成绩评定表成绩评定表 20 4 / 19 1 概述 数据结构是一门理论性强、思维抽象、难度较大的课程,是基础课和专业课 之间的桥梁,只有进行实
3、际操作,将理论应用于实际中,才能确实掌握书中的知 识点。通过课程设计,不仅可以加深学生对数据结构基本概念的了解,巩固学习 成果,还能够提高实际动手能力。为学生后继课程的学习打下良好的基础。 2 设计目的 数据结构课程设计是在教学实践基础上进行的一次大型实验,也是对该 课程所学理论知识的深化和提高。因此,要求学生能综合应用所学知识,设计与 制造出具有较复杂功能的应用系统, 并且在实验的基本技能方面上进行一次全面 的训练。通过程序的编译掌握对程序的调试方法及思想,并且让学生学会使用一 些编程技巧。促使学生养成良好的编程习惯。 1.使学生能够较全面地巩固和应用课堂中所学的的基本理论和程序设计方 法,
4、能够较熟练地完成程序的设计和调试。 2.培养学生综合运用所学知识独立完成程序课题的能力。 3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论, 全方位考虑问题等科学技术人员应具有的素质。 4提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基 本素质。 5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验 中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。 6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设 计能力、书面及口头表达能力进行考核。 3 设计功能分析 本设计的功能如下: 1、利用哈希函数来实现一个小型信息管理系统
5、,其中信息包含用户名,地 址,电话等。 2、能添加用户信息,并能保存该信息。 3、查询管理系统中的信息:可通过姓名查找,也可通过电话查找等两种方 式。 5 / 19 4、能散列管理系统中的信息,保存信息等功能。 4 详细设计说明 哈希表是一种重要的存储方式,也是一种常见的检索方法。其基本思想是 将关系码的值作为自变量,通过一定的函数关系计算出对应的函数值,把这个数 值解释为结点的存储地址,将结点存入计算得到存储地址所对应的存储单元。检 索时采用检索关键码的方法。 (1) 假定每个记录有下列数据项:用户名、电话号码、地址。 (2) 初始记录为空,通过不断添加记录,并保存到数据文件 telphone.txt 中。 (3) 分别采用线性和平方探测解决冲突。 (4) 查找并显示给定电话号码的记录;查找并显示给定用户 名的记录。 5 流程图 选择操作 添加记录 建 立 哈 希查找 线性 号码 姓名 平方 显示输出结果 删除 退出 开始 6 / 19 6 程序代码 #include #include #include #include using namespace std; #define Maxsize