三元多项式表示如下:

P(x,y,z) = xyz + 2xyz + 3xyz + xyz + 6xyz + 2yz + 15

然后对式子进行变形:

P(x,y,z)=((x+2x)y+3xy)z+((x+6x)y+2y)z+15

上面的三元多项式可以看成是z的一元多项式。即P(x,y,z)=Az+Bz+Cz

其中A=((x+2x)y+3xy)、B=((x+6x)y+2y)、C=15;

然后二元多项式A(x,y)又可以看成是关于y的一元多项式;B也如此;

A(x,y)=((x+2x)y+3xy)=Cy+Dy

其中C=x+2x、D=3x、

分解到此处可以看出C、D是关于x的一元多项式;

这种嵌套结构把m元多项式层层分解;很好地表示了一元多项式。

任何一个m元多项式可以分解出一个主变元,随后再分解出第二个变元等等;

接下来可以用广义表的数据结构来表示m元多项式;

数据结构5.4_m元多项式的表示-LMLPHP

 typedef struct MPNode{
ElemTag tag; //区分原子节点or
int exp; //指数域
union{
float coef; //指向系数域
struct MPNode *hp; //表节点的表头指针
};
struct MPNode *tp; //相当于线性链表的next,指向下一个元素的结点
}* MPList;

相关链接:

数据结构28:广义表及m元多项式:https://www.cnblogs.com/ciyeer/p/9040516.html

05-11 11:19