《哈希表的设计》doc版

《哈希表的设计》doc版

ID:33118583

大小:94.37 KB

页数:20页

时间:2019-02-20

《哈希表的设计》doc版_第1页
《哈希表的设计》doc版_第2页
《哈希表的设计》doc版_第3页
《哈希表的设计》doc版_第4页
《哈希表的设计》doc版_第5页
资源描述:

《《哈希表的设计》doc版》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、哈尔滨理工大学课 程 设 计(数据结构)题  目: 哈希表设计班  级:姓  名:   指导教师:     系主任:2013年03月08日第20页共20页目录一、问题描述......................................................3二、需求分析1、基本要求2、测试数据.......................................................3三、概要设计......................................................3四、详细设

2、计......................................................4五、测试分析.....................................................11六、课程设计总结.............................................13七、附录(源代码).........................................13第20页共20页一、问题描述针对自己班级体中的“人名”设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和

3、查表程序。二、需求分析基本要求:假设人名为中国姓名的汉语拼音模式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用链表法处理冲突。测试数据:输入30个人的姓名拼音,即30个字符串,然后用除留余数法构建哈希表并用链表法处理冲突,最后将结果输出,程序自动计算查找长度的总数和平均查找长度,然后用户可以根据需求进行查找操作。三、概要设计开始i=0,keyi++Nikry_codeem->next=NULL

4、key=em->key_code%pNht[key].key=NULLKEYNULLKEYNULLKEYNULLKEYNht[key].key==keyYht[key].key=keyYht[key].next=emp=ht[key].nextNp->next!=NULLp->next=emYp=p->next结束一、详细设计头文件#include#include第20页共20页#include#include#defineP30/*除数余留法中的除数*/#defineNULLK

5、EY0#defineMAX30/*人名个数*/#definehashlen30/*哈希表长度*/intsum=0,k=0;typedefstructNode/*哈希表结构体*/{charkey_code[10];/*哈希表地址*/structNode*next;}Node;typedefstructhashtable/*创建哈希表*/{intkey;structNode*next;}HashTable[MAX];intHash(intkey){intmode=key%P;/*除留余数法得到的余数*/returnmode;}voidHash_Init(Ha

6、shTableht)/*哈希表初始化*/{inti;for(i=0;ikey_code));Node*p;p=(Node*)malloc(sizeof(Node));if(ht[key].ke

7、y==NULLKEY){ht[key].key=key;ht[key].next=node;k++;}elseif(ht[key].key==key){p=ht[key].next;k++;while(p->next!=NULL){p=p->next;k++;}p->next=node;k++;}return1;}第20页共20页Node*Hash_Search(HashTableht,intkey)/*查找函数*/{intp0=Hash(key);if(ht[p0].key==NULLKEY){sum++;returnNULL;}elseif(ht[p

8、0].key==p0){Node*p=ht[p0].next;while(p!=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。