1 / 29
文档名称:

哈希表数据结构课程设计.doc

格式:doc   大小:575KB   页数:29页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

哈希表数据结构课程设计.doc

上传人:wz_198613 2019/5/30 文件大小:575 KB

下载得到文件列表

哈希表数据结构课程设计.doc

文档介绍

文档介绍:数学与计算机学院课程设计说明书课程名称:数据结构-课程设计课程代码:8404181题目:哈希表的设计与实现年级/专业/班:2009级软件工程3班学生姓名:张加发学号:312009080611315开始时间:2011年06月20日完成时间:2011年06月29日课程设计成绩:学与实际能力(20)创新(5)说明书撰写质量(45)总分(100)指导教师签名:年月日数据结构课程设计任务书学院名称:数学与计算机学院课程代码:8404181专业:软件工程年级:2009级一、设计题目哈希表的设计与实现二、主要内容设计哈希表实现电话号码查找系统,要求如下:1)设每个记录有下列数据项:电话号码、用户名、地址;2)从键盘输入各记录,分别以电话号码和用户名为关键字建立哈希表(要求设计两种以上不同的散列函数);3)采用两种以上的方法解决冲突;4)查找并显示给定电话号码的记录;5)查找并显示给定用户名的记录。三、,如:“312009080611101张三”。里面应包括:学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中)、任务书和课程设计说明书的电子文档。(注意:在封面后夹入打印的“任务书”以后再装订)。四、主要技术路线提示哈希表的操作。构造散列函数的方法较多,常用直接定址法、数字分析法、平方取中法、折叠法、除留余数法等,解决冲突的方法也较多,常用:开放定址法、链地址法等。五、进度安排共计两周时间,建议进度安排如下:选题,应该在上机实验之前完成需求分析、概要设计可分配4学时完成详细设计可分配4学时调试和分析可分配10学时。2学时的机动,可用于答辩及按教师要求修改课程设计说明书。注:只用课内上机时间一般不能完成设计任务,所以需要学生自行安排时间做补充。六、推荐参考资料[1]苏仕华等编著,数据结构课程设计,机械工业出版社,2007[2]严蔚敏等编著,数据结构(C语言版),清华大学出版社,2003[3]严蔚敏等编著,数据结构题集(C语言版),清华大学出版社,2003指导教师签名日期年月日系主任审核日期年月日摘要分析了对线性表、栈、队列、字符串、树、图、查找、排序等理论知识的应用,对现实复杂问题的分析建模和解决方法!分析了针对系统的需求所要执行的解决方法的可行性,正确性。完成系统前需要进行问题描述、系统分析、设计建模、代码实现、调试修改,结果分析。设计哈希表实现电话号码查询系统是利用哈希表实现电话系统的快速查询,程序实现哈希表建表和查表,并实现对没有查找到的内容进行记录。利用编程实现电话号码查询系统,该系统具有录入联系人的姓名,电话号码,住址信息,查询联系人,保存记录以及清空记录,并且实现利用散列显示联系人信息,包括姓名散列和电话号码散列。关键词:哈希表;散列;排序;联系人;电话号码目录1需求分析 12开发及运行平台 23概要设计 34详细设计 55调试分析 166测试结果 187结论 22参考文献 231需求分析(1)输入的形式和输入值的范围:数据的输入在屏幕中进行,所输入的数据的格式为:姓名,住址,电话号码。用户使用时显示菜单,用户输入菜单选项完成操作。(2)输出的形式:查找的结果显示在屏幕上,未被查找到的内容输出相应的提示信息。用户需要时,将哈希表显示在屏幕上。(3)程序所能达到的功能:根据用户的要求,输入联系人的姓名,电话号码。住址,分别以姓名和电话号码作为关键字生成哈希表。生成哈希表后用户可以根据相应的关键字进行数据的查找,若查找到对应的数据则将数据输出屏幕,若没有查找到对应的数据则将输出提示信息表示未找到联系人。在用户选择哈希表时,显示完整的哈希表。程序使用文字菜单的友好界面,在数据输入时对输入内容进行范围控制。(4)测试数据:在电脑屏幕中输入记录,令程序读入并分别以姓名和电话号码做为关键字生成哈希表,查找记录中原有的记录,查看输出数据,查找记录中没有的记录输出提示信息,查看整个哈希表的数据。清除所有的记录后再次输入信息查询,屏幕输出未查找到的提示信息,若录入新的信息后,可保存信息,查询,散列联系人信息。2开发及运行平台硬件:微型计算机。软件:VC++。具体操作如下:新建……工程,添加相应的源文件,再编译,链接,执行!。structnode//建节点{charname[8];//用于存放姓名charaddress[20];//用于存放地址charnum[11];//用于存放电话号码node*next;};,();