資料結構5 4 m元多項式的表示

2022-05-24 01:54:12 字數 682 閱讀 3362

三元多項式表示如下:

p(x,y,z) = x10y3z2 + 2x6y3z2 + 3x5y2z2 + x4y4z + 6x3y4z + 2yz + 15

然後對式子進行變形:

p(x,y,z)=((x10+2x6)y3+3x5y2)z2+((x4+6x3)y4+2y)z+15

上面的三元多項式可以看成是z的一元多項式。即p(x,y,z)=az2+bz1+cz0

其中a=((x10+2x6)y3+3x5y2)、b=((x4+6x3)y4+2y)、c=15;

然後二元多項式a(x,y)又可以看成是關於y的一元多項式;b也如此;

a(x,y)=((x10+2x6)y3+3x5y2)=cy3+dy2

其中c=x10+2x6、d=3x5、

分解到此處可以看出c、d是關於x的一元多項式;

這種巢狀結構把m元多項式層層分解;很好地表示了一元多項式。

任何乙個m元多項式可以分解出乙個主變元,隨後再分解出第二個變元等等;

接下來可以用廣義表的資料結構來表示m元多項式;

1 typedef struct

mpnode;

8struct mpnode *tp; //

相當於線性鍊錶的next,指向下乙個元素的結點

9 }* mplist;

資料結構28:廣義表及m元多項式:

資料結構 一元多項式的表示及相加

typedef struct float coef 係數 int expn 指數 term,elemtype 定義結構體 typedef linklist polynomial 用帶頭結點的有序鍊錶表示多項式 int cmp term a,term b 依a 的指數值 b 的指數值。分別返回 1 0...

資料結構 一元多項式的表示及相加

本文所有 均為偽碼,僅闡述演算法基本思想 資料結構 清華大學出版社 一元多項式的表示採用鏈式儲存結構來實現,基本操作和鍊錶的合併類似。以下為演算法部分 typedef structterm,elemtype 兩個型別名 term用於本adt,elemtype為linklist的資料物件名 type ...

資料結構 一元多項式的表示及相加

用單鏈表儲存多項式的結點結構如下 struct polynode 1.兩個多項式中所有指數相同的項的對應係數相加,若和不為零,則構成 和多項式 中的一項 2.所有指數不相同的項 均復抄到 和多項式 中。1.若pa exp exp,則結點pa所指的結點應是 和多項式 中的一項,將結點pa插入在結點pc...