欢迎来到天天文库
浏览记录
ID:1472395
大小:1.15 MB
页数:82页
时间:2017-11-11
《数据结构课程设计报告(c语言版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第82页2021-6-12作者:胡乔楠数据结构课程设计报告《数据结构(c语言版)》课程设计题目数据结构演示系统1和3学生姓名学号指导教师学院信息科学与工程学院专业班级计算机类完成时间七月第82页共82页数据结构课程设计报告第82页2021-6-12作者:胡乔楠czlzdj@sohu.com目录第一章项目概述…………………………31.1问题的要求分析与描述………………………………………………........31.2问题的要求和限制…………………………………………………………3第二章概要设计…………………………4第三章详细设计…
2、……………………….83.1系统程序的组成框图…………………………………….83.2程序的流程图………………………………………........113.3算法的源程序……………………………………………15第四章调试分析………………………244.1调试方法……………………………………………...244.2算法时间复杂度………………………………………25第五章测试结果………………………265.1正确的输入与输出…………………………………...265.2错误的输入与输出……………………………………32第六章课程设计总结6.1个人的体
3、会和感想…………………………………….41第82页共82页数据结构课程设计报告第82页2021-6-12作者:胡乔楠附录A:演示系统1源代码有详细注释………………………………………….43附录B:演示系统2源代码………………………………………………………..60参考文献……………………………………………………………………………..82第一章项目概述1.1问题的描述与分析本次课程设计,我完成了两个题目,数据结构演示系统1、数据结构演示系统2。数据结构演示系统1主要有两种数据的存储结构要实现,顺序和链式,每种存储结构都要实现至少
4、四种算法插入、删除、查询、合并。对于串还要实现模式匹配,使用KMP的快速算法,减小时间复杂度。1、顺序表的插入、删除和合并等基本操作。2、利用插入运算建立链表;实现链表的查找、删除、计数、输出等功能以及有序链表的合并。3、串的模式匹配(包括求next和nextval的值)。数据结构演示系统2涉及了数据结构常用的三种存储结构,顺序、链式、散列,算法主要是查找和排序。1、实现静态查找(包括顺序查找、折半查找和插入查找)和动态查找(包括二叉排序树和二叉平衡树)。2、根据输入的数据实现下列内部排序:①直接插入排序、折半插入排序、表插
5、入排序和希尔排序;②快速排序;③简单选择排序和堆排序;④归并排序;⑤链式基数排序。1.2问题的要求和限制1.2.1我做的界面以用户为主,还兼容了容错能力。首先就是菜单的选择均有容错能力。整形数字的范围是-32768--32767,要求用户输入显示在用户界面上的整形数字(1、2、3、4、…),当用户输入不正确的选项时,会自动提示输入错误,并返回原菜单要求用户从新输入。其次,每一个子菜单同样有相同的容错能力,对于某些子系统,用户必须先建立线性表才能进行操作,若不先建立线性表,程序同样会回到主菜单,并提示用户建立线性表。1.2.2
6、由于用户能输入任意个数字进行演示,并且长度由用户规定。系统规定用户输入的长度应该在1—100以内。长度小于1就没有意义了,但也不能太大,输入长度太大,用户会没有时间去输入线性表的元素。在输入数字时,理论上是表的长度不能小于1。如果小于1,则会提示输入错误,菜单自动返回。此外,在进行某些操作,如插入删除时,用户能在任意位置插入且能在任意位置删除,不过位置必须在线性表的范围之内。若超过线性表的现有长度,那么同样会报错。第82页共82页数据结构课程设计报告第82页2021-6-12作者:胡乔楠1.2.3在用户界面(DOS界面),用
7、户每执行完一次操作,都会有相应的提示。若用户建立了线性表,则会显示建立成功。若用户进行查找,都会提示查找成功与否。输出地形式是以用户存入线性表的数字为准,一般都是整形。输入其它形式的数字,会自动转化为整形。在串的模式匹配中,模式串和主串的长度输入是整形,规定用户必须输入1—100的数字,否则会提示错误,要求从新输入。而串的值是字符型。必须输入字符,才能得到正确的结果。1.2.4数据结构演示系统1主要有四个模块,一个主模块,三个子模块。主模块调用三个函数,SqListfun(),LinkListfun(),Index_SS()
8、,分别指向三个不同功能的子模块。SqListfun()实现上述顺序线性表的算法,LinkListfun()实现上述连是线性表的算法,最后一个Index_SS()实现上述串的模式匹配算法。每一个模块的调用以及返回都是通过用户选择菜单来实现的。这些模块能够演示顺序表建立、插入、删除、查找、无序
此文档下载收益归作者所有