一元多项式的表示和相加

一元多项式的表示和相加


  • time:2017-09-13 10:48
  • what:针对数据结构的一元多项式的表示和相加,进行图解的详细分析和描述
  • where:一元多项式的合并
  • why:图解能对算法有更清晰的了解
  • who:自己
  • when:在学习数据结构的一元多项式的表示和相加时

$1.一元多项式的表示

一元多项式
p(x)=p0+p1x+p2x2++pnxn
由n+1个系数唯一确定。则在计算机中可用线性表( p0p1p2...pn )表示。既然是线性表,就可以用顺序表和链表来实现。两种不同实现方式的元素类型定义如下:

  • (1)顺序存储表示的类型
typedef sturct
  {
    float coef; /*系数部分*/
    int expn; /*指数部分*/
  }ElemType;
  • (2)链式存储表示的类型
typedef sturct ploy
  {
    float coef; /*系数部分*/
    int expn; /*指数部分*/
    sturct ploy *next;
  }Ploy;

$2.一元多项式的相加

不失一般性,设有两个一元多项式:

P(x)=p0+p1x+p2x2++pnxn

Q(x)=q0+q1x+q2x2++qmxm(m<n)

R(x)=P(x)+Q(x)
R(x)由线性表
R((p0+q0)(p1+q1)(p2+q2)(pm+qm)pn)
唯一表示。

$3.链式存储表示的相加

当采用链式存储表示时,根据结点类型定义,凡是系数为0的项不在链表中出现,从而可以大大减少链表的长度。
一元多项式相加的实质是:
- 指数不同: 是链表的合并。
- 指数相同: 系数相加,和为0,去掉结点,和不为0,修改结点的系数域。

$3.1算法之一:

就在原来两个多项式链表的基础上进行相加,相加后原来两个多项式链表就不在存在。当然再要对原来两个多项式进行其它操作就不允许了。

$3.2算法之二:

对两个多项式链表进行相加,生成一个新的相加后的结果多项式链表,原来两个多项式链表依然存在,不发生任何改变,如果要再对原来两个多项式进行其它操作也不影响。

一元多项式的相加算法之二]![这里写图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值