ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:17.05KB ,
资源ID:3144858      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3144858.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计报告撰写模板参考.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计报告撰写模板参考.docx

1、数据结构课程设计报告撰写模板参考数据结构课程设计报告撰写模板参考1.1 输入的形式和输入值的范围 1.2 输出的形式 1.3 程序所能达到的功能 1.4 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果 3.1 姓名(结构体数组)初始化3.2 建立哈希表 . 3.2.1 用除留余数法构建哈希函数. 3.2.2 用伪随机探测再散列法处理冲突.1需求分析以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?并明确规定:1.1 输入的形式和输入值的范围;1.2 输出的形式;1.3 程序所能达到的功能;1.4 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。2概要设

2、计(系统概要、基本功能要求)说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。存储结构设计typedef struct char *py; /名字的拼音 int k; /拼音所对应的整数NAME; typedef struct /哈希表 char *py; /名字的拼音 int k; /拼音所对应的整数 int si; /查找长度HASH;3详细设计(列出函数首部+注释) 例如:void show(listlink head) /*显示所有的信息*/实现概要设计中定义的所有数据类型,对每个操作只需要写出伪码算法;对主程序和其它模块也都需要写出伪码算法(

3、伪码算法达到的详细程度建议为:按照伪码算法能够在计算机键盘直接输入高级程序设计语言程序);可采用流程图 N S 图或PAD图进行描述,画出函数和过程的调用关系图。3.1 姓名(结构体数组)初始化 名字以拼音的形式够成字符串,将字符串的各个字符所对应的ASCII码相加,所得的整数做为哈希表的关键字。void InitNameList() char *f; int r,s0,i; NameList0.py=zengqinghui; NameList1.py=mayuelong; NameList2.py=chenzhicheng; NameList3.py=sunpeng; NameList4.p

4、y=wanghui; NameList5.py=liqingbo; NameList6.py=liujunpeng; NameList7.py=jiangquanlei; NameList8.py=xingzhengchuan; NameList9.py=luzhaoqian; NameList10.py=gaowenhu; NameList11.py=zhuhaoyin; NameList12.py=chenlili; NameList13.py=wuyunyun; NameList14.py=huangjuanxia; NameList15.py=wangyan; NameList16.p

5、y=zhoutao; NameList17.py=jiangzhenyu; NameList18.py=liuxiaolong; NameList19.py=wangziming; NameList20.py=fengjunbo; NameList21.py=lilei; NameList22.py=wangjia; NameList23.py=zhangjianguo; NameList24.py=zhuqingqing; NameList25.py=huangmin; NameList26.py=haoyuhan; NameList27.py=zhoutao; NameList28.py=

6、zhujiang; NameList29.py=lixiaojun; for(i=0;iNAME_NO;i+) s0=0; f=NameListi.py; for(r=0;*(f+r)!=0;r+) */将字符串的各个字符所对应的ASCII码相加,所得的整数做为哈希表的关键字*/ s0=*(f+r)+s0; NameListi.k=s0; 3.2 建立哈希表 3.2.1 用除留余数法构建哈希函数 3.2.2 用伪随机探测再散列法处理冲突void CreateHashList() int i; for(i=0; iHASH_LENGTH;i+) HashListi.py=; HashListi.

7、k=0; HashListi.si=0; for(i=0;iHASH_LENGTH;i+) int sum=0; int adr=(NameListi.k)%M; /哈希函数 int d=adr; if(HashListadr.si=0) /如果不冲突 HashListadr.k=NameListi.k; HashListadr.py=NameListi.py; HashListadr.si=1; else /冲突 do d=(d+NameListi.k%10+1)%M; /伪随机探测再散列法处理冲突 sum=sum+1; /查找次数加1 while (HashListd.k!=0); Has

8、hListd.k=NameListi.k; HashListd.py=NameListi.py; HashListd.si=sum+1; 3.3 查找哈希表 在哈希表中进行查找,输出查找的结果和关键字,并计算和输出查找成功的平均查找长度void FindList() char name20=0; int s0=0,r,sum=1,adr,d; printf(请输入姓名的拼音:); scanf(%s,name); for(r=0;r20;r+) /求出姓名的拼音所对应的整数(关键字) s0+=namer; adr=s0%M; /使用哈希函数 d=adr; if(HashListadr.k=s0)

9、 /分3种情况进行判断 printf(n姓名:%s 关键字:%d 查找长度为: 1,HashListd.py,s0); else if (HashListadr.k=0) printf(无此记录!); else int g=0; do d=(d+s0%10+1)%M; /伪随机探测再散列法处理冲突 sum=sum+1; if(HashListd.k=0) printf(无此记录! ); g=1; if(HashListd.k=s0) printf(n姓名:%s 关键字:%d 查找长度为:%d,HashListd.py,s0,sum); g=1; while(g=0); 3.4 显示哈希表 显示

10、哈希表的的格式: n地址t关键字tt搜索长度tH(key)t 姓名nvoid Display() int i; float average=0; printf(n地址t关键字tt搜索长度tH(key)t 姓名n); /显示的格式 for(i=0; i50; i+) printf(%d ,i); printf(t%d ,HashListi.k); printf(tt%d ,HashListi.si); printf(tt%d ,HashListi.k%M); printf(t %s ,HashListi.py); printf(n); for(i=0;i&ch1; switch(ch1) cas

11、e D:Display(); coutendl;break; case F:FindList();coutendl;break; case Q:exit(0); cout&ch1; while(ch1!=n); 4调试分析内容包括:4.1调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析;题目中明确规定了用除留余数法创立哈希函数和用伪随机探测再散列法处理冲突,程序设计的方法几乎已经被规定,只要按照题目要求写程序不会太难。不过在写程序过程中还是发现了一些小问题,主要是因为自己上机试验少,以后多上机实践能够避免的。b算法的时空分析(包括基本操作和其它算法的时间复杂度和空间复杂度的分析)和改进设想;c经验和体会等。5用户使用说明说明如何使用你编写的程序,详细列出每一步的操作步骤。6测试结果列出你的测试结果,包括输入和输出。这里的测试数据应该完整和严格,最好多于需求分析中所列。7参考文献列出参考的相关资料和书籍。

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

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