- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
管理信息化信息化知识数据结构
演示系统1与3介绍
czlzdj@
目录
第一章项目概述…………3
1.1问题的要求分析与描述………………3
1.2问题的要求和限制…………3
第二章概要设计…………4
第三章详细设计………….8
3.1系统程序的组成框图…….8
3.2程序的流程
图………11
3.3算法的源程序……………15
第四章调试分析………24
4.1调试方法……………...24
4.2算法时间复杂度………25
第五章测试结果………26
5.1正确的输入与输出…………………...26
5.2错误的输入与输出……32
第六章课程设计总结
6.1个人的体会和感想…….41
附录A:演示系统1源代码有详细注释………….43
附录B:演示系统2源代码………..60
参考文
献……………..82
第一章项目概述
1.1问题的描述与分析
本次课程设计,我完成了两个题目,数据结构演示系统1、数据结构演示系统2。
数据结构演示系统1主要有两种数据的存储结构要实现,顺序和链式,每种存储结构都
要实现至少四种算法插入、删除、查询、合并。对于串还要实现模式匹配,使用KMP的
快速算法,减小时间复杂度。1、顺序表的插入、删除和合并等基本操作。2、利用插入
运算建立链表;实现链表的查找、删除、计数、输出等功能以及有序链表的合并。3、
串的模式匹配(包括求next和nextval的值)。
数据结构演示系统2涉及了数据结构常用的三种存储结构,顺序、链式、散列,算
法主要是查找和排序。1、实现静态查找(包括顺序查找、折半查找和插入查找)和动
态查找(包括二叉排序树和二叉平衡树)。2、根据输入的数据实现下列内部排序:①直
接插入排序、折半插入排序、表插入排序和希尔排序;②快速排序;③简单选择排序和
堆排序;④归并排序;⑤链式基数排序。
1.2问题的要求和限制
1.2.1我做的界面以用户为主,还兼容了容错能力。首先就是菜单的选择均有容错能力。整
形数字的范围是-32768--32767,要求用户输入显示在用户界面上的整形数字(1、2、3、
4、…),当用户输入不正确的选项时,会自动提示输入错误,并返回原菜单要求用户从新输
入。其次,每一个子菜单同样有相同的容错能力,对于某些子系统,用户必须先建立线性表
才能进行操作,若不先建立线性表,程序同样会回到主菜单,并提示用户建立线性表。
1.2.2由于用户能输入任意个数字进行演示,并且长度由用户规定。系统规定用户输入的长
度应该在1—100以内。长度小于1就没有意义了,但也不能太大,输入长度太大,用户会
没有时间去输入线性表的元素。在输入数字时,理论上是表的长度不能小于1。如果小于1,
则会提示输入错误,菜单自动返回。此外,在进行某些操作,如插入删除时,用户能在任意
位置插入且能在任意位置删除,不过位置必须在线性表的范围之内。若超过线性表的现有长
度,那么同样会报错。
1.2.3在用户界面(DOS界面),用户每执行完一次操作,都会有相应的提示。若用户建立了
线性表,则会显示建立成功。若用户进行查找,都会提示查找成功与否。输出地形式是以用
户存入线性表的数字为准,一般都是整形。输入其它形式的数字,会自动转化为整形。在串
的模式匹配中,模式串和主串的长度输入是整形,规定用户必须输入1—100的数字,否则
会提示错误,要求从新输入。而串的值是字符型。必须输入字符,才能得到正确的结果。
1.2.4数据结构演示系统1主要有四个模块,一个主模块,三个子模块。主模块调
文档评论(0)