下载此文档

数据结构课程设计——一元多项式计算.pdf


文档分类:高等教育 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
该【数据结构课程设计——一元多项式计算 】是由【青山代下】上传分享,文档一共【12】页,该文档可以免费在线阅读,需要了解更多关于【数据结构课程设计——一元多项式计算 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..数据结构课程设计——一元多项式计算一、课程设计题目及要求二、设计思路和方法三、程序流程图四、程序代码及注释五、测试结果及分析六、结论七、参考文献本次课程设计的题目为“一元多项式计算”,要求设计一个程序,能够实现一元多项式的加、减、乘、求导和求值等操作。在设计思路和方法上,我们采用了链表的数据结构来存储多项式,同时设计了相应的函数来实现各种操作。程序的流程图如下所示:插入流程图):..程序的代码及注释如下所示:插入代码及注释)在测试结果及分析方面,我们对程序进行了多组测试,并对其进行了详细的分析和比较。结果表明,我们的程序能够正确地实现各种操作,并且具有较高的效率和稳定性。综上所述,本次课程设计的目标已经得到了圆满地实现,我们对于所取得的成果感到非常满意。同时,我们也希望能够通过这次课程设计,加深对于数据结构及其应用的理解和掌握,为今后的研究和工作打下坚实的基础。设计目标:本课程设计旨在结合理论与实际应用,提高学生组织数据及编写大型程序的能力。通过掌握数据组织、算法设计和算法性能分析的方法,培养学生良好的程序设计能力。具体实现是利用单链表表示一元多项式,实现多项式的输入、建立、输出、相加、相减和相乘。总体设计::..:一元多项式定义系数和指数结构如下:coef,expn和next。定义多项式的结构为线性链表的存储结构,每个结点包含三个元素:系数coef,指数expn和指向下一个结点的指针*next。多个单项式通过指针连接起来,形成一个多项式。:从实现多项式运算过程的角度来分析,至少需要以下子功能模块:多项式创建、销毁、输出、相加、相减和相乘。定义并调用的函数有:Insert、CreatePolyn、DestroyPolyn、PrintPolyn、AddPolyn、SubtractPolyn、XXX和main函数。注:该文章中没有明显的格式错误和需要删除的段落,因此没有进行小幅度改写。首先,从键盘输入项数m,如果m小于等于0,则返回空;否则,定义存储多项式的数据类型term,并动态分配空间,完成建立多项式。接着,将P的next值赋给q1,,则释放q1,将q2赋给q1,q2的next值赋给q2,,直到q1的next值不存在。最后返回建立好的多项式。:..2)多项式的销毁XXX(Polynhead)销毁一元多项式Polynp=head。q=NULL;while(p)q=p->next;free(p);p=q;3)多项式的输出XXX(PolynP)输出一元多项式Polynq=P->next;intflag=0;while(q):..if(q->coef。=1&&q->coef。=-1)。q->coef);flag=1;elseif(q->coef==1)if(q->expn==0)flag=1;elseif(q->expn==1)flag=1;else。q->expn);:..flag=1;elseif(q->coef==-1)if(q->expn==0)flag=1;elseif(q->expn==1)flag=1;else。q->expn);flag=1;:..elseflag=0;if(q->coef。0&&flag。=0)q=q->next;4)多项式的相加PolynAddPolyn(Polynpa。Polynpb)两个一元多项式相加Polynqa=pa->next。qb=pb->next。hc。qc。p;hc=(Polyn)malloc(sizeof(Polynomial));hc->next=NULL;qc=hc;:..while(qa&&qb)if(qa->expn==qb->expn)if(qa->coef+qb->coef。=0)p=(Polyn)malloc(sizeof(Polynomial));p->coef=qa->coef+qb->coef;p->expn=qa->expn;qc->next=p;qc=p;qa=qa->next;qb=qb->next;elseif(qa->expn。qb->expn)p=(Polyn)malloc(sizeof(Polynomial));p->coef=qa->coef;p->expn=qa->expn;:..qc->next=p;qc=p;qa=qa->next;elsep=(Polyn)malloc(sizeof(Polynomial));p->coef=qb->coef;p->expn=qb->expn;qc->next=p;qc=p;qb=qb->next;while(qa)p=(Polyn)malloc(sizeof(Polynomial));p->coef=qa->coef;p->expn=qa->expn;qc->next=p;:..qa=qa->next;while(qb)p=(Polyn)malloc(sizeof(Polynomial));p->coef=qb->coef;p->expn=qb->expn;qc->next=p;qc=p;qb=qb->next;returnhc;5)XXX(Polynpa。Polynpb)两个一元多项式相减Polynpc=pb。pd。pf;pd=pc->next;:..pd->coef=-pd->coef;pd=pd->next;pf=AddPolyn(papc);pd=pc->next;while(pd)pd->coef=-pd->coef;pd=pd->next;returnpf;6)多项式的相乘XXX(Polynpa。Polynpb)两个一元多项式相乘Polynqa=pa->next。qb=pb->next。hf。pf。qf;hf=(Polyn)malloc(sizeof(Polynomial));:..qf=hf;while(qa)qb=pb->next;while(qb)pf=(Polyn)malloc(sizeof(Polynomial));pf->coef=qa->coef*qb->coef;pf->expn=qa->expn+qb->expn;qf->next=pf;qf=pf;qb=qb->next;qa=qa->next;qf->next=NULL;returnhf;

数据结构课程设计——一元多项式计算 来自淘豆网www.taodocs.com转载请标明出处.