哈希表的操作.docx
《哈希表的操作.docx》由会员分享,可在线阅读,更多相关《哈希表的操作.docx(16页珍藏版)》请在第壹文秘上搜索。
1、哈希表操作一目的1 .巩固和深入对哈希表的创建、查找、插入等方法理论学问的理解。2 .把握建立哈希表的方法,本试验是采纳的是除留余数法创建。3 .把握哈希表解决冲突的方法,本试验用的是线性探测再散列的方法。4 .巩固对程序模块化设计的要求。二需求分析1 .对于哈希表的基本操作首先是要创建一个哈希表,哈希表的创建思想是由哈希函数得到,本试验就采纳了除留余数法创建哈希表。2 .创建好哈希表就需要在哈希表中插入元素,本试验是需要插入单词,所以需要调用String函数库,通过每个单词的地址数来进行下一步的查找方案。当插入单词地址已经存在时,就产生了冲突,因此需要采纳线性探测再散列的方式来解决冲突。3
2、.当哈希表插入单词完成之后便可以显示哈希表的存储状况,因此需要输出整个哈希表。4 .要想计算平均查找长度首先要对哈希表中的元素进行查找,当全部单词查找结束,查找长度也得出。5 .要实现上诉需求,程序需要采纳模块化进行设计。三概要设计1.基本操作:voidInitwordlist(intn)初始化哈希表操作结果:以字符形式插入单词,将字符串的各个字符所对应的ASCH码相加,所得的整数做为哈希表的关键字。voidCreatehashlist(intn)创建哈希表,并插入单词操作结果:(1)用除留余数法构建哈希函数;(2)用线性探测再散列处理冲突。voidfind()查找哈希表中的单词操作结果:在哈
3、希表中进行查找,输出查找的结果和关键字,并计算和输出查找胜利的平均查找长度。voidprinthash()显示哈希表操作结果:显示哈希表的存储状况:位置dtt关键字6dtt单词%snfloataverage()操作结果:计算出平均查找长度。voidmenu()菜单函数设计操作结果:显示格式:1向哈希表中插入单词(15);2查找哈希表中的单词;3显示哈希表的存储状况;4计算哈希表的平均查找长度;5退出程序。intmain()主程序设计操作结果:通过调用各个函数操作得到结果。2.程序流程图:四具体设计1.全局变量:defineHASHLEN15/HASH_LEN长度定义为15defineM13/取
4、模质数M为132 .存储结构设计:WORDWOrdIiStHASH_LEN;全局变量typedefstructCharWOrd15;输入的单词intnumber;单词所对应的整数(WORD;typedefstructchar*word;存储输入的单词intnumber;单词所对应的整数intnumofseek;查找的次数HASH;HASHhashlistHASH_LEN;全局变量3 .哈希表初始化voidInitworcllist(intn)(inti,j;char*w;设立一个指针,指向单词的地址for(i=0;in;i+)intSUnI=O;存放单词地址Printf(请输入第%d个单词(按
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈希表 操作
