欢迎来到天天文库
浏览记录
ID:11342377
大小:274.50 KB
页数:18页
时间:2018-07-11
《数据结构课程设计报告模板》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、成绩计算机与信息工程学院《数据结构》课程设计报告专业名称信息与计算科学学生班级10级1班学生姓名刘远远学生学号2010025707设计起止时间:2012年12月17日至2012年12月21日18课程设计任务书一、课程设计题目:线性表的应用(大数运算)二、课程设计目的与要求:1、课程设计目的(1)对数据结构中线性结构的理解和掌握;(2)熟练掌握顺序和链式存储结构有关知识和方法;(3)深入掌握各种数据结构的理论知识和实践操作;(4)养成良好的编程风格,掌握各种数据结构的编程思想和编程方法;(5)将数据结构的理论知识和实践有机结合起来,为后续知识的学习做好准备。2、课程
2、设计要求(1)选择合适的存储结构实现大数存储;(2)设计算法,采用顺序存储结构完成大数的阶乘运算;(3)设计算法,采用链式存储结构完成大数的加法运算;(4)设计算法,选择合适的存储结构完成大数的乘法运算;(5)其中某一算法采用两种存储结构实现。三、工作计划:第一阶段(12月17日~12月18日):查阅各种数据结构相关资料书籍,整理出课程设计初步模型,并形成课程设计的整体理论框架,理论模型;第二阶段(12月19日~12月21日):在DEV-C++5或TURBOC2相关开发语言上,进行编码、上机调试,逐步形成完善的设计程序,使其达到上机完善演示出系统性的课程设计。四、
3、课程设计提交的文件:(1)课程设计报告(2)课程设计可运行程序(刻录成光盘)指导教师:张绍兵2012年12月1日18摘要线性表有两种不同的存储结构,分别是顺序存储结构和链式存储结构,在实际中应用十分广泛。本设计要求分别利用线性表的两种存储结构,设计算法完成对大数的阶乘、加法、乘法的求解。数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的关系的操作的学科,在本次课程设计中,定义存储结构均采用了数据结构中的抽象数据类型,而抽象数据类型是指一个数据模型以及定义在改模型上的一组操作,抽象数据类型的定义仅仅取决于它的一组逻辑特性,而与计算机内部如何表示和实
4、现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。选择合适存储结构实现大数运算。首先需要先解释的是这里大数计算的因数和结果精度一般是少则数十位,多则几万位。在C语言中定义的类型中精度最多只有二十多位,因而在此我们采取用线性表的顺序和链表存储结构的方式来存放大数,解决一些关于大数的运算应用,原来此问题在现实生活中实用性很强,诸如密码学特别是RSA加密方面、物理研究学、生物学、化学中有特殊应用。18目录课程设计任务书2摘要3第一部分课程设计内容与理论基础5第二部分课程设计算法构造思想6第三部分课程设计模块划分及其功能7第四部分课程设计使用说
5、明和运行结果8第五部分参考文献9第六部分附录918第一部分课程设计内容与理论基础1.课程设计内容在我们常用的32位计算中,CPU中加减乘除的一次运算是32位的值,也就是说2的32次方的一个值,这就是说1加上1的CPU工作量和小于2的32的两位数相加是用的相同的周期。为了避免运算结果大于2的32次,因为大于的话又会造成一次CPU周期运算,但这样当然也可以做。但建议用下面方法,考虑乘法的原因,两个2的16次方相乘就是2的32次方的情况,所以我们定义了本程序算法,结点数巨减,主要是开内存方面,有了极大的减少。本设计要求分别利用线性表的两种存储结构,定义存储结构均采用了数
6、据结构中的抽象数据类型,而抽象数据类型是指一个数据模型以及定义在改模型上的一组操作C语言中定义的类型中精度最多只有二十多位,因而在此我们采取用线性表的顺序和链表存储结构的方式来存放大数,解决一些关于大数的运算应用(大数计算的因数和结果精度一般是少则数十位,多则几万位),设计算法完成对大数的阶乘、加法、乘法的求解。例如:1、阶乘运算的测试数据:60!2、加法运算的测试数据:9876876787+896789675599993、乘法运算的测试数据:9876876787×896789675599992.课程设计理论基础本次课程设计使用C语言进行设计,在DEV_C++中编
7、译运行的,主要使用了以下理论知识:1、顺序表的顺序存储结构:typedefstruct{ElemType*elem;intlength;}SqList;2、顺序表的链式存储结构:typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;3、链栈的存储结构:typedefstructSNode{ElemTypedata;structSNode*next;}SNode,*LinkStack;4、顺序表的各种抽象数据类型的定义如下ADTlist_Sq{18数据对象:D={ai
8、ai∈ElemSet
9、,i=1,
此文档下载收益归作者所有