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

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

ID:33984176

大小:201.50 KB

页数:21页

时间:2019-03-03

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

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

1、课程设计说明书NO.21一元多项式计算1.设计目的(1)掌握数据结构的应用、算法的编写方法。(2)掌握类C语言的算法转换成C程序并用VC++上机调试的基本方法。(3)学会结构体的定义和调用。(4)学会单链表的初始化和建立。(5)通过C语言使用链式存储结构实现一元多项式加法、减法和乘法的运算。按指数降序排列。(6)本课程设计是为了配合《数据结构》课程的开设,通过设计一完整的程序,使学生掌握数据结构的应用、算法的编写、类C语言的算法转换成C程序并用TC上机调试的基本方法。2.设计方案论证2.1.1设计思路实现的方法是先定义多项式结点的结构,该多项式每个结

2、点由三个元素:输入的系数、输入的指数、以及指向下一个结点的指针构成。该链表采用链式存储结构。然后通过多次的输入,依次得到两个一元多项式的各个项的系数与指数。该输入以零结尾。然后通过对结点的判断是否为零后,进行运算或者终止的操作。再初始化一个链表LC,将LC的各项系数和指数的指针指向LA+LB所得的结果的值,完成了最后的输出。(1)定义结构体-struct结构体为表示一个对象的不同属性提供了连贯一致的方法,结构体类型的说明从关键词struct开始,成员可以由各种数据类型混合构成,成员甚至还可以是数组或者其他类型的结构,但是,结构体中不能包含自身定义类型

3、的成员。使用typedef和struct定义的新类型名称,其用途与内建类型的名称相同,可以用来:声明和初始化结构体变量;创建并根据自己的意愿初始化结构数组;(2)单链表的建立单链表有两个域,data域和next域,一个是存放数据,一个是存放指针而且指向它的后继。并且还有个head,称表结点,它一般不存放数据,只是做个特殊标记。表的结束是NULL,也就是最后的那个链域next为空单链表的插入运算有两种,一种是头插法,另一种是尾插法,这里运用的是尾插法沈阳大学课程设计说明书NO.21(3)一元多项式的建立输入多项式采用插头的方式,输入多项式中一个项的系数

4、和指数,就产生一个新的节点,建立起它的右指针,并用头节点指向它;为了判断一个多项式是否结束,定义一个结束标志,并输入非0时就继续,当输入0时,就结束一个多项式的输入(4)显示一元多项式如果系数是大于0的话就输出+系数x指数形式;如果系数小于0的话输出系数x指数形式;如果指数为0的话,直接输出系数;如果系数是的话就直接输出+x;如果系数是-1的话直接输出-x输出多项式(5)一元多项式的加法计算它从两个多项式的头部开始,两个多项式的某一项都不为空时,如果数相等的话,系数就应该相加;相加的和不为0的话,用头插法建立一个新的节点。p的指数小于q的指数的话,就

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

6、式不为空时,将第一个多项式用心节点产生。当第一个多项式为空,第二个多项式不为空时,将第二个多项式用新节点产生,并且建立的节点系数为原来的相反数。(7)一元多项式乘法运算它从两个多项式的头部开始,两个多项式的某一项都不为空时,如果指数相等的话,系数就应该相乘;相加的和不为0的话,用有插法建立一个新的节点p的指数小于q的指数的话,就应该复制q节点到多形式中。p的指数大于q的指数的话,就应该复制p节点到多项式中,当第二个多项式为空,第一个多项式不为空时,将第一个多项式用新节点产生。当第二个多项式为空,将第二个多项式用新节点产生。沈阳大学课程设计说明书NO.

7、21输入模块加法模块减法模块乘法模块输出模块输入系数和项数,生成多项式对生成的多项式进行加法运算对生成的多项式进行减法运算对生成的多项式进行乘法运算输出多项式,并释放结点图1基本模块表一元多项式计算一元多项式的建立一元多项式的加法一元多项式的减法一元多项式的乘法一元多项式的输出图2总体功能模块图2.1.2数学模型在数学上,一个一元多项式Pn(x)可按升幂写成:Pn(x)=p0+p1x+p2x2+……+pnxn它由n+1个系数唯一确定,因此,在计算机中它可用一个线性表P来表示:P=(p0,p1,p2,……,pn)每一项的指数i隐含在其系数Pi的序号里,

8、每一项的值顺序为各个多项式的系数值。加法模型假设Qm(X)是一元m次多项式,同样可用线性表Q来表示:沈阳大学

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

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

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