关于一元多项式的计算问题
方法一:可以取一个数组,将对应的幂的系数存储在相应的下标的位置,下标表示指数的大小。这样的方法对于非零项比较少的
多项式会造成空间的浪费。
方法二:采用结构体来表示指数和系数
typedef struct{
int index;
double coefficient;
}polynomial;
polynomial pn[100];
对于两个多项式,其系数和指数如下:
coefficient | -5 | 7 | 19 | 4 |
index | 8 | 3 | 5 | 19 |
coefficient | 9 | 8 | 16 | 5 |
index | 13 | 5 | 7 | 19 |
对于以上两个多项式,第一行表示系数,第二行表示指数:
我们需要对每一个多项式的指数进行排列:
coefficient | 7 | 19 | -5 | 4 |
index | 3 | 5 | 8 | 19 |
coefficient | 8 | 16 | 9 | 5 |
index | 5 | 7 | 13 | 19 |
然后对结构体数组进行遍历:如果指数形同,则对系数相加,指数不同,则将指数大的先放进一个新的数组,指数小的继续遍历。
方法三:链表。