[TOC]
一、题意理解
二、求解思路
三、多项式的表示
3.1 数组
3.2 链表
四、程序框架搭建
五、如何读入多项式
六、如何将两个多项式相加
七、如何将两个多项式相乘
八、如何将多项式输出
更新、更全的《数据结构与算法》的更新网站,更有python、go、人工智能教学等着你:
数据结构与算法 - 咸鱼Chen - 博客园www.cnblogs.com一、题意理解
设计函数分别求两个一元多项式的乘积与和,例:
假设多项式的乘积为
,则多项式的乘积如下:
通过上述题意理解,我们可以设计函数分别求两个一元多项式的乘积与和。
输入样例:
输出样例:
二、求解思路
- 多项式表示
- 程序框架
- 读多项式
- 加法实现
- 乘法实现
- 多项式输出
三、多项式的表示
仅表示非零项
3.1 数组
优点:编程简单、调试简单
缺点:需要事先确定数组大小
一种比较好的实现方法是:动态数组(动态更改数组的大小)
3.2 链表
优点:动态性强
缺点:编程略为复杂、调试比较困难
数据结构设计:
/* c语言实现 */
typedef struct PolyNode *Polynomial;
struct PolyNode{
int coef;
int expon;
Polynomial link;
}
四、程序框架搭建
/* c语言实现 */
int main()
{
读入多项式1;
读入多项式2;
乘法运算并输出;
加法运算并输出;
return 0;
}
int main()
{
Polynomial P1, P2, PP, PS;
P1 = ReadPoly();
P2 = ReadPoly();
PP = Mult(P1, P2);
PrintPoly(PP);
PS = Add(P1, P2);
PrintPoly(PS);
return 0;
}
需要设计的函数