【数据结构】多项式的运算

题意理解

已知两个多项式:
(1)\(3x^4-5x^2+6x-2\)
(2)\(5x^{20}-7x^4+3x\)

多项式和:
\(5x^{20}-4x^4-5x^2+9x-2\)
多项式乘积:
\((a+b)(c+d)=ac+ad+bc+bd\)

输入样例:

4 3 4 -5 2 6 1 -2 0
3 5 20 -7 4 3 1

输出样例:

15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1
5 20 -4 4 -5 2 9 1 -2 0

求解思路

  1. 多项式表示 //首先是明确使用的数据结构
  2. 程序框架 //对程序整体有一个规划,下面的四步就是读入、加、乘、输出
  3. 读多项式
  4. 加法实现
  5. 乘法实现
  6. 多项式输出
    理解起来也好理解呀。有明确的步骤,做起事来才不慌啊。

多项式的表示

仅表示非零项

数组:
变成简单、调试容易;需要实现确定数组大小

链表:
动态性强;编程略复杂、调试比较困难

可以使用动态数组来实现 因为已经告诉了有多少项

数据结构设计

typedef struct PolyNode *Polynomial;
struct PolyNode{
    int coef;
    int expon;
    Polynomial link;
};

猜你喜欢

转载自www.cnblogs.com/maxwell-maxwill/p/12314950.html