- 1、本文档共19页,可阅读全部内容。
- 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.绪论 2
1.1 前言 2
1.2 问题的提出 2
2.课程设计目的 3
3.需求分析 4
3.1 功能分析 4
3.2 设计思路 4
4.概要设计 5
4.1数据结构的选用 5
4.2多项式的输入 5
4.3主函数和其它函数 5
5.流程图设计 6
5.1函数调用关系 6
5.2程序流程图 7
6.程序代码 8
7.调试运行 15
8.总结 17
参考文献 18
摘要
在计算机科学中,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。
在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素。这种洞见导致了许多种软件设计方法和程序设计语言的出现,面向对象的程序设计语言就是其中之一。
经过一学期的学习我对数据结构的知识有所了解,运用我所学的知识来完成这个课程设计。采用C语言编写,在对于多项式的存储和计算操作中大量依赖于指针和结构体。通过尾插法建立链表,指数的比较来实现结点元素的相加减。
关键字 数据结构 多项式 链表 指针 结构体
1.绪论
1.1 前言
算机的应用已渗透到社会的各个领域,正在改变着人们的工作、学习和生活的方式,推动着社会的发展。归纳起来可分为以下几个方面:如科学计算(数值计算)、数据处理(信息处理)、自动控制、计算机辅助、人工智能、多媒体应用、计算机网络本系统用C语言作为程序语言,设计出的系统功能完善,操作方便灵活。
1.2 问题的提出
一元稀疏多项式简单计数器基本功能要求:
(1)输入并建立多项式
(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……cn,en,其中n是多项式的项数,ci,ei分别为第i项的系数和指数。序列按指数降序排列。
(3)多项式a和b相加,建立多项式a+b,输出相加的多项式。
(4)多项式a和b相减,建立多项式a-b,输出相减的多项式。
用带表头结点的单链表存储多项式。
2.课程设计目的
使我们进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。使我们掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。使我们掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。熟练掌握数据结构这门课程,掌握线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及其应用.进一步熟悉抽象数据类型的定义和实现、如何利用数组的动态分酚实现顺序结构、继承的实现方式。学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、想念结构及基相应的算法并初步掌握算法的时间分析和空间分析的技术。基本掌握程序设计的基本思路和方法。利用所学的基本知识和技能,解决简单的程序设计问题各算法描述培养我们的数据抽象能力。3.需求分析
3.1 功能分析
本程序要求输入并建立多项式,能够降幂显示出多项式,实现多项式相加相减的计算问题,输出结果。
3.2 设计思路
采用链表的方式存储链表,定义结点结构体。运用尾差法建立两条单链表,以单链表polyn p和polyn h分别表示两个一元多项式a和b。
为实现处理,社p、q分别指向单链表polya和polyb的当前项,比较p、q结点的指数项。
① 若p-expnq-expn,则结点p所指的结点应是“和多项式”中的一项,令指针p后移。
② 若p-expn=q-expn,则将两个结点中的系数相加,当和不为0时修改结点p的系数。
③ 若p-expnq-expn,则结点q所指的结点应是“和多项式”中的一项,将结点q插入在结点p之前,且令指针q在原来的链表上后移。
4.概要设计
4.1数据结构的选用
typedef struct Polynomial{
float coef; //系数
int expn; //指数
struct Polynomial *next;
}*Polyn,Polynomial;
4.2多项式的输入
Polyn CreatePolyn(Polyn head,int m){
......
for(i=0;im;i++)
{
您可能关注的文档
- 三相桥式全控整流电路有环流可逆课程设计.doc
- 三维雕刻机毕业设计说明书.doc
- 三维建模与动画 毕业论文.doc
- 三相电压电流测试仪的设计 毕业论文.doc
- 三相异步电动机的电气故障与检修 毕业论文.doc
- 三相异步电动机运行故障分析与对策.doc
- 一致收敛判别方法的探讨 毕业论文.doc
- 三自由机械手的毕业设计.doc
- 上市公司会计信息披露的探讨 毕业论文.doc
- 三菱PLC电镀中的应用毕业论文.docx
- 2025年中山市沙溪镇人民政府所属事业单位招聘11人笔试备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库含答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库参考答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及答案详解一套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及完整答案详解1套.docx
文档评论(0)