一元多项式计算大数据结构课程设计

一元多项式计算大数据结构课程设计

ID:40000586

大小:400.61 KB

页数:20页

时间:2019-07-16

一元多项式计算大数据结构课程设计_第1页
一元多项式计算大数据结构课程设计_第2页
一元多项式计算大数据结构课程设计_第3页
一元多项式计算大数据结构课程设计_第4页
一元多项式计算大数据结构课程设计_第5页
资源描述:

《一元多项式计算大数据结构课程设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档池州学院CHIZHOUCOLLEGE《数据结构》课程设计报告学号:57543937202527姓名:周田张永鹏武警温凯侨李坤米昌华阮健健班级:10计算机科学与技术(2)班指导教师:成绩:数学与计算机科学系一、课程设计基本情况文案大全实用文档1、设计名称一元多项式计算2、主要功能能够按照指数降序排列建立并输出多项式;能够完成两个多项式的相加、相减,并将结果输出;3、设计平台电脑、Visualc++6.0一、系统设计文案大全实用文档1、算法思想根据一元多项式相加的运算规则:对于两个一元多项式中所有指数相同的项,对应指数相加(减

2、),若其和(差)不为零,则构成“和(差)多项式”中的一项;对于两个一元多项式中所有指数不相同的项,则分别写到“和(差)多项式”中去。因为多项式指数最高项以及项数是不确定的,因此采用线性链表的存储结构便于实现一元多项式的运算。为了节省空间,我采用两个链表分别存放多项式a和多项式b,对于最后计算所得的多项式则利用多项式a进行存储。主要用到了单链表的插入和删除操作。(1)一元多项式加法运算它从两个多项式的头部开始,两个多项式的某一项都不为空时,如果指数相等的话,系数就应该相加;相加的和不为零的话,用头插法建立一个新的节点。P的指数小于q

3、的指数的话就应该复制q的节点到多项式中。P的指数大于q的指数的话,就应该复制p节点到多项式中。当第二个多项式空,第一个多项式不为空时,将第一个多项式用新节点产生。当第一个多项式空,第二个多项式不为空时,将第二个多项式用新节点产生。(2)一元多项式的减法运算它从两个多项式的头部开始,两个多项式的某一项都不为空时,如果指数相等的话,系数就相减;相加的和不为零的话,用头插法建立一个新的节点。p的指数小于q的指数的话,就应该复制q的节点到多项式中。P的指数大于q的指数的话就应该复制p的节点到多项式中,并且建立的节点的系数为原来的相反数;当

4、第二个多项式空,第一个多项式不为空时,将第一个多项式用新节点产生。当第一个多项式空,第二个多项式不为空时,将第二个多项式用新节点产生,并且建立的节点的系数为原来的相反数。2、概要设计(1)主函数流程图:(注:a代表第一个一元二次方程,b代表第二个一元二次方程)开始定义结构体定义函数类型及名称构造指数比较函数排列顺序(降序)用单链接储存a,b项目的系数和指数开始进行加减法运算输出构造出的多项式指数不同输出多项式,求项数创建并初始化多项式链表输入系数和指数指数相同合并同类项按指数排序结束将单链表的节点释放,使已建立的多项式销毁a项的指

5、数值=b项的指数值选择语句a项指数值b项指数值文案大全实用文档(2)一元多项式计算算法用类C语言表示:Typedefstruct00{//项的表示,多项式的项作为LinkList的数据元素文案大全实用文档Floatcoef;//细数Intexpn;//指数}term,ElemType;//两个类型名:term用于本ADT,ElemType为LinkList的数据对象名Typede

6、fLinkListpolynomial://用带表头的节点的有序链表表示多项式//基本操作的函数原型说明VoidCreatePolyn(polynomail&P);//输入n的系数和指数,建立表示一元多项式的有序链表P销毁一元多项式PVoidDestroyPolyn(polynomailP);销毁一元多项式PvoidPrintPoly(polynomailP);//打印输入一元多项式PIntPolynLength(polynnomailP);//返回一元多项式P中的项数voidCreatPolyn(polynomail&Pa.po

7、lunomail&Pb);//完成多项式相加运算,即:Pa=Pa+Pb,并贤惠一元多项式PbvoidSubtractPolyn(polunomail&Papolunomail&Pb);//完成多项式相减运算,即:Pa=Pa-Pb,并销毁一元多项式Pb//基本操作的算法描述Intcmp(tema,tempb);//依a的指数值<(或=)(或>b的住数值,分别返回-1、0和+1VoidCreatePolyn(polynomail&P,intm){//输入m项的系数和指数,建立表示一元多项式的有序链表PInitList(P);h=Get

8、Head(P);E.coef=0.0;e.expn=-1;SerCurElem(h,e);//设置头结点的数据元素For(i=1;i<=m;++i){//依次输入m个非零项Scanf(e.coef,e.epn);If(!LocateElem(P,e

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。