设计散列表实现话号码查找系统数据结构课程设计.docVIP

  • 298
  • 0
  • 约1.2万字
  • 约 26页
  • 2018-06-23 发布于浙江
  • 举报

设计散列表实现话号码查找系统数据结构课程设计.doc

设计散列表实现话号码查找系统数据结构课程设计

河南城建学院 课程设计报告书 专 业:计算机科学与技术 课程设计名称:《数据结构课程设计》 题 目:设计散列表实现电话号码查找系统 班 级: 学    号: 姓    名: 同 组 人 员: 无 指 导 老 师: 完 成 时 间: 摘要 目录 目录 . 第一章 开发环境和开发工具 1 1.1 C++语言简介 .1 1.2 开发背景 .1 1.3 开发环境 .1 第二章 算法思想 2 2.1 系统需求分析 2 2.2 系统总体设计 2 2.2.1 系统设计目标 2 2.2.2 开发设计思想 .3 2.2.3 系统功能模块设计 .3 2.3 算法思想描述 6 第三章 算法实现 7 3.1 数据结构 7 3.2 程序模块 7 3.3 各模块之间的调用关系 10 3.4 源程序代码 11 第四章 测试与分析 18 4.1 测试数据选择 18 4.2 测试结果分析 18 总 结 20 心得体会 20 参考文献 22 开发环境和开发工具 C ++语言简介 在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向 对象的程序设计语言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更为深入的概念,它所支持的这些的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度环境的信息技术极大地扩展了全人类教育的时空界限,空前地提高了人们学习的兴趣、效率和主动性,已经成为开发人类能力的创造性工具。在计算机科学中,《数据结构》不仅是一般应用程序设计的基础,而且也是操作系统、数据库系统、网络系统设计及其它大型计算机应用工程重要的实施基础。采用法解决冲突;查找并显示给定电话号码的记录; 电话管理系统要整个系统的主要分为两大模块如功能模块图2-1可以清楚的看到, 录入模块和查询模块。 录入模块可根据系统提示的信息填写信,,填完相应的信息,可按回车储存。以姓 名和电话号码为关键字,分别用Hash函数运算出一个相对应的值,把这个值作为结点 的存储地址,分别存入姓名散列表和电话号码散列表的对应位置。 查询模块分为两部分,姓名查询和号码查询,姓名查询可有一个姓名查到多个记录 号码查询是一一映射。查找时,通过所要寻找的关键字用同样的Hash函数计算地址,判 断存的内容是否跟关键字是否一样,若一样则记录找到则可找到你要查找的内容。否则无此记录。 哈希表散列方法:电话散列计算key值是从第三个数字开始相加得到一个总和,用总和除以20取余数得到其散列地址。同样对于姓名的存储利用姓名的ASSIC值对应相加. 。 2.3 算法思想描述 1、建立节点将名字地址电话放入数组中,并且定义所输入姓名电话地址的输入类型为字符型。 struct node { char name[8],address[20]; char num[11]; node * next; }; unsigned int key; unsigned int key2; 2、定义哈希表,定义关键字key的取定方法,电话散列的关键字key1+=(int)num[i];key1=key1%20 ,获取电话的关键字,堆入散列表。 同理对于姓名的关键选取采用姓名英文字母的ASSIC 码之和,key2+=(int)num;key2=key2%20, 获取名字的关键字。 不管是以电话为关键字还是以名字为关键字都避免不了冲突的产生,程序对于冲突的处理采用了线性探测解决,算法为: for(j=0;j20;j++) { key=(key+j)%20; if(phone[key]-name==) break; } return(key); 每次冲突以后通过j的自增增加1,一次寻找散列表中未被占用的位置,直到找到位置。 3、自定义函数,其中自定义的函数包括 输入apend函数 新建create函数,包括姓名输入和电话输入 显示查询信息的list函数 查找的find 函数 删除信息的delete函数 保存信息的save 函数 最后定义主菜单函数menu, 最后是主函数然后由主函数void main( )根据用户输入的要求调用各个函数,主菜单函数每次均被调用。 第三章 算法实现 3.1 数据结构 struct node //建节点 { char

文档评论(0)

1亿VIP精品文档

相关文档