2.1.1 引子——多项式的表示
多项式: f ( x ) = a 0 + a 1 x + a 2 x 2 + ⋯ + a n − 1 x n − 1 + a n x n f(x)=a_{0}+a_{1}x+a_{2}x^{2}+\cdots+a_{n-1}x^{n-1}+a_{n}x^{n} f(x)=a0+a1x+a2x2+⋯+an−1xn−1+anxn
表示多项式的关键数据:
- 多项式的项数 n n n
- 多项式的系数 a i a_i ai 和指数 i i i
表示多项式的方法:
- 顺序存储结构直接表示:任意幂次项都表示,系数存储在一维数组中,指数是下标
- 顺序存储结构表示非零项:只表示非零项,用顺序结构表示,指数有序排序
- 链表结构存储非零项:只表示非零项,用链表结构表示:链表中每个结点存储非零项,包括系数和指数两个数据域和一个指针域。
代码实现:
typedef struct PolyNode *Link;
struct PolyNode{
int coef;
int expon;
Link Next;
};
图形示意: