毕业(设计)论文_多项式的设计报告数据结构课程设计.doc

毕业(设计)论文_多项式的设计报告数据结构课程设计.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕业(设计)论文_多项式的设计报告数据结构课程设计.doc

目 录 1.多项式的设计报告…….………………………2 a.概要设计 …….………………………2 b.详细设计 …….………………………3 c.调试分析 …….………………………8 数据结果 …….………………………8 时间复杂度分析 ……………………10 问题和解决方法 ……………………10 源程序代码展示…………………………10 2.二叉树的设计报告…….………………………18 a.概要设计 …….………………………18 b.详细设计 …….………………………19 c.调试分析 …….………………………21 数据结果 …….………………………21 时间复杂度分析 ………………………22 问题和解决方法 ………………………23 源程序代码展示…………………………23 3.课程设计总结…………………………………26 多项式的设计报告 概要设计 1. 将该存储结构定义为链式结构的线性表存储结构的定义struct Node {float coef;//结点类型 int exp;}; typedef Node polynomial; struct LNode {polynomial data;//链表类型LNode *next;}; typedef LNode* Link; 2.创建函数流程图 3.主程序流程图: 4.多项式加法的算法分析 将链表pa,pb分别复制到新建链表p1,p2中,再新建链表pc,然后分别依次对p1,p2链表中结点中的指数进行比较,将指数小的结点的值先赋值给pc中的结点,两个指数相同时,将系数相加后一起赋值给pc中的结点,最后将p1或者p2中多余的结点直接赋值给pc链表,pc链表就是通过加法后的多项式 5.多项式减法的算法分析 新建链表pt,将pb中的结点值赋给pt,然后将pt中所有结点的系数乘上(-1)后,再将pt和pa相加就得到相减后的多项式。 6.多项式乘法的算法分析 同样将链表pa,pb中的结点赋值给p1,p2,然后依次将p1中的每个结点的值分别与p2中每个结点的值相乘后赋值给pc,就得到相乘后的多项式。 详细设计 创建多项式的源程序 void CreateLink(Link L,int n) {if(L!=NULL) //首先判断是已经存在多项式,如果存在则销毁 {DestroyLink(L); } Link p,newp; L=new LNode;L-next=NULL;//分配结点空间,new相当于malloc函数 (L-data).exp=-1; //创建头结点 p=L; for(int i=1;i=n;i++) { newp=new LNode; cout请输入第i项的系数和指数:endl; cout系数:; cin(newp-data).coef; cout指数:; cin(newp-data).exp; if(newp-data.exp0) {cout您输入有误,指数不允许为负值!endl; delete newp;i--;continue;} newp-next=NULL;p=L; if(newp-data.coef==0) {cout系数为零,重新输入!endl; delete newp;i--;continue; } while((p-next!=NULL)((p-next-data).exp(newp-data).exp)) {p=p-next; } if(!JudgeIfExpSame( L, newp)) {newp-next=p-next; p-next=newp; }else { cout输入的该项指数与多项式中已存在的某项相同,请重新创建一个正确的多项式endl; delete newp;DestroyLink(L); CreateLink(L,n); break; } } } 二.多项式相加模块的源程序 void PolyAdd(Link pc,Link pa,Link pb) { Link p1,p2,p,pd; CopyLink(p1,pa);CopyLink(p2,pb); //将链表pa,pb分别复制给p1,p2 pc=new LNode; pc-

文档评论(0)

damei + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档