一元稀疏多项式计算器.docx
《一元稀疏多项式计算器.docx》由会员分享,可在线阅读,更多相关《一元稀疏多项式计算器.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、院 系: 计算机科学学院 专 业: 软件工程 年 级: 2013级 课程名称: 数据结构 姓 名: 韦宜(2)指导教师: 宋中山 2015年 12 月 15日题目:设计一个一元稀疏多项式简单计算器班级:软件工程1301 姓名:韦宜 学号:2 完成日期:12月15日一、 需求分析问题描述:设计一个一元多项式加法器基本要求:输入并建立多项式;(2)两个多项式相加;(3)输出多项式:n, c1, e1, c2, e2, cn , en, 其中,n是多项式项数,ci与ei分别是第 i 项的系数与指数,序列按指数降序排列。(4)计算多项式在x处的值;(5)求多项式的导函数。软件环境:Windows,UN
2、IX,Linux等不同平台下的Visual C+ 6.0硬件环境: 512MB内存,80Gb硬盘,Pentium4 CPU,CRT显示器。二、 概要分析本程序有五个函数:PolyNode *Input()(输入函数);PolyNode *Deri(PolyNode *head)(求导函数);PolyNode * Plus(PolyNode *A,PolyNode *B)(求与函数);void Output(PolyNode*head)(输出函数);int main()(主函数)本程序可使用带有附加头结点的单链表来实现多项式的链表表示,每个链表结点表示多项式的一项,命名为node,它包括两个数据
3、成员:系数coef与指数exp,他们都是公共数据成员,*next为指针域,用链表来表示多项式。适用于不定的多项式,特别是对于项数再运算过程中动态增长的多项式,不存在存储溢出的问题。其次,对于某些零系数项,在执行加法运算后不再是零系数项,这就需要在结果多项式中增添新的项;对于某些非零系数项,在执行加法运算后可能是零系数项,这就需要在结果多项式中删去这些项,利用链表操作,可以简单的修改结点的指针以完成这种插入与删除运算(不像在顺序方式中那样,可能移动大量数据项)运行效率高。三、 详细设计(1)主函数:int main()PolyNode *head_a,*head_b;int choice;hea
4、d_a=new PolyNode;head_a-next=NULL;do system(cls);/清屏函数 Output(head_a); cout _n; cout|-1.输入公式-|n; cout|-2.求 导-|n; cout|-3.两式求与-|n; cout|-4.退出程序-|n; coutchoice; if (choice=1) head_a=Input(); else if (choice=2) head_a=Deri(head_a); /求导 else if (choice=3) head_b=Input();head_a=Plus(head_a,head_b);/求与 el
5、se if (choice=4) break; else coutnext!=NULL)if(p-next-exp=0) p-next=NULL; /指数为零返回else p-next-coef*=p-next-exp; /系数乘以指数p-next-exp-; /指数减一p=p-next;return head;用于对输入的多项式进行求导,求导在链表内进行计算,即运算完成链表的值改变,返回头指针。PolyNode * Plus(PolyNode *A,PolyNode *B)(求与函数):流程图如下:startNYNYNYYNNYNYNY建立链表head,p=head,两头指针A、B均指向各自
6、的nextA、 B为空A的指数大于B的指数A、B的系数互为倒数AB指数相等B为空A为空p-next=NULL将A的当前接点接到新链表后面,A后指A、B均后指将B接到p后面合并相同系数相同项,连接到新链表后面将A接到p后面将B的当前接点接到新链表后面,B后指如果AB都为空返回头指针ENDPolyNode*Plus(PolyNode*A,PolyNode *B)本函数用于对多项式进行加法计算,需要运用存有两个多项式的头指针,前一头指针可是前一计算的计算结果,也可是调用输入函数,后一头指针是调用输入函数输入的多项式的头接点。经过计算得到一个新的链表,函数返回链表的头指针。求与函数部分代码PolyNo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一元 稀疏 多项式 计算器
限制150内