线性表及其表现

多项式的表示

在这里插入图片描述
要表示这个多项式,需要表示两项:①系数,②指数

方法一:顺序存储结构直接表示

在这里插入图片描述
上面使用了数组来表示多项式,数组的下标表示指数,数组内存储系数,但是这会产生一个问题,那就是如果指数很大,那么怎么表示?
难道是开一个很大的数组?No,空间浪费太大了这样

方法二:顺序存储表示非零项

将非零项所涉及的两个信息,系数和指数存储起来,例如:
在这里插入图片描述
多项式相加
从头开始,比较两个多项式当前对应项的指数,例如:
good job
比较过程:
① P1中(9,12)和P2中(26,19)比较,19大,取(26,19)放入P3
② P1中(9,12)和P2中(-4,8)比较,12比较大,取(9,12)放入P3
③ P1中(15,8)和P2中(-4,8)比较,8=8,则15-4=11,将(11,8)放入P3,以此类推,得到结果如下
在这里插入图片描述

方法三:链表结构存储非零项

链表中每个结点存储多项式中的一个非零项,包括系数和指数两个数据域以及一个指针域
在这里插入图片描述

typedef struct PolyNode *Polynomial;
struct PolyNode {  
	int coef;  
	int expon;  
	Polynomial link; 
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值