课程设计报告-哈希表

课程设计报告-哈希表

ID:33141482

大小:84.61 KB

页数:20页

时间:2019-02-21

课程设计报告-哈希表_第1页
课程设计报告-哈希表_第2页
课程设计报告-哈希表_第3页
课程设计报告-哈希表_第4页
课程设计报告-哈希表_第5页
资源描述:

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

1、数据结构课程设计(哈希表的设计)院系专业班级学生姓名学号课程设计日期:2011年6月26日至2011年7月7日第20页共20页目录一、问题描述......................................................3二、需求分析1、基本要求……………………………………………32、测试数据.......................................................3三、概要设计......................................................3四、详细设

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

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

4、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#include#include#defineP30/*除数余留法中的除数*/第20页共20页#defineNULLKEY0#defineMA

5、X30/*人名个数*/#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(HashTableht)/*哈希表初

6、始化*/{inti;for(i=0;ikey_code));Node*p;p=(Node*)malloc(sizeof(Node));if(ht[key].key==NULLKEY){ht[key].

7、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;}Node*Hash_Search(HashTableht,intkey)/*查找函数*/第20页共20页{intp0=Hash(key);if(ht[p0].key==NULLKEY){sum++;returnNULL;}elseif(ht[p0].key==p0){Node*p=ht[p0

8、].next;while

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

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

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