课程设计报告哈希表Word下载.docx

上传人:b****0 文档编号:13328198 上传时间:2022-10-09 格式:DOCX 页数:9 大小:16.76KB
下载 相关 举报
课程设计报告哈希表Word下载.docx_第1页
第1页 / 共9页
课程设计报告哈希表Word下载.docx_第2页
第2页 / 共9页
课程设计报告哈希表Word下载.docx_第3页
第3页 / 共9页
课程设计报告哈希表Word下载.docx_第4页
第4页 / 共9页
课程设计报告哈希表Word下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

课程设计报告哈希表Word下载.docx

《课程设计报告哈希表Word下载.docx》由会员分享,可在线阅读,更多相关《课程设计报告哈希表Word下载.docx(9页珍藏版)》请在冰豆网上搜索。

课程设计报告哈希表Word下载.docx

2、测试数据.......................................................3

3、概要设计......................................................3

4、详细设计......................................................4

5、测试分析.....................................................11

六、课程设计总结.............................................13

七、附录(源代码).........................................14

1、问题描述

针对自己班级体中的“人名”设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和查表程序。

基本要求:

假设人名为中国姓名的汉语拼音模式。

待填入哈希表的人名共有30个,取平均查找长度的上限为2。

哈希函数用除留余数法构造,用链表法处理冲突。

测试数据:

输入30个人的姓名拼音,即30个字符串,然后用除留余数法构建哈希表并用链表法处理冲突,最后将结果输出,程序自动计算查找长度的总数和平均查找长度,然后用户可以根据需求进行查找操作。

3、概要设计

4、详细设计

头文件

#include<

stdio.30*哈希表长度*

intsum=0,k=0;

typedefstructNode*哈希表结构体*

{

charkey_code[10];

*哈希表地址*

structNode*next;

}Node;

typedefstructmode;

}

voidHash_Init(HashTablestr[0]+str[1]+str[2];

intHash_Insert(HashTable1;

Node*Hash_Search(HashTableNULL;

}

elseif(p;

}

p=p->

next;

sum++;

returnNULL;

intHash_Create(HashTable"

);

return1;

int;

i++)

{

printf("

%4d"

i);

"

returncount2;

voidHash_Link()*链表法构造函数*

intkey;

inti;

Node*node;

HashTable"

k);

*查找总长度*

printf("

ASL=%d8\n"

*平均查找长度*

请输入要查找的数据:

"

*输入查找的姓名*

scanf("

%s"

&

key);

node=Hash_Search("

sum);

if(node!

=NULL)

查找成功!

else

查找不成功!

void-1;

di++)

{

address=((data%P)+di)%;

if(status[address]==0)

{

;

int1;

else

{

for(di=1;

di<

=-1;

di++)*哈希表中元素与查找元素不相等,查找下一元素*

address=((key%P)+di)%;

if(di+1;

break;

}

if(di>

=)

return0;

intmain()*主函数*

{

\t\t\t************************\n"

\t\t\t哈希表设计\n"

\n"

Hash_Link();

5、测试分析

随机输入的30个人的姓名拼音

测试过程:

输入30个人的姓名拼音,观察输出结果,并进行查找操作

测试结果:

主界面:

哈希表:

6、课程设计总结

这次数据结构课程设计持续了两周,在这两周中付出了很多,同样也得到了很多。

这次课程设计巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。

培养独立思考,深入研究,分析问题、解决问题的能力。

通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。

在本次课程设计中,不得不提的还有合作。

虽说课题不是太难,但有时自己想不明白,通过大家的讨论可以更快和更有效率的解决问题,而且映象还很深刻。

所以以后要多多和同学讨论,毕竟自己的不可能想得很全。

通过这次课程设计,让我学到了很多,让我知道了认真上好专业实验课的重要性,以后多在实践中锻炼自己,毕竟说和做还是有很大差距的,而且写程序的过程中要考虑周到,严密。

在做设计的时候要有信心,有耐心,切勿浮躁。

认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。

在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。

7、附录(程序源代码):

#include<

stdio.13

typedefstructemployee

intkey_code;

structemployee*next;

}Employee;

voidlogo()

\t\t\t哈希表的基本操作\n"

\t\t\t\n"

voidHash_Init(HashTable1;

Employee*Hash_Search(HashTableNULL;

voidConFun()

请按任意键继续...."

getch();

voidHash_Link()

Employee*em;

ASL=%d30\n"

%d"

em=Hash_Search("

if(em!

ConFun();

voidSelectModel()

do

system("

cls"

logo();

fflush(stdin);

\t

(1):

除数余留法创建哈希表\n"

\t

(2):

退出系统\n"

\t请选择序号:

i);

switch(i)

case1:

break;

case2:

感谢您的使用,欢迎下次再来\n"

exit(0);

default:

printf("

\t请输入1-6\n"

ConFun();

break;

}while

(1);

intmain()

SelectModel();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1