稀疏多项式的顺序储存结构实现

本文介绍了如何使用存储量与多项式项数成正比的顺序存储结构来实现稀疏多项式,并提供了求解Pn(x0)和Pn1(x) - Pn2(x)的算法。在2.39题中,通过遍历多项式直接计算Pn(x0),时间复杂度较低。而在2.40题中,采用了类似于表的merge算法,根据指数大小合并两个多项式,避免了排序操作,确保了算法效率。
摘要由CSDN通过智能技术生成

题目摘自数据结构题集(C语言版) p20 Algo2.39-2.40

顺序存储结构

稀疏多项式的顺序存储结构SqPoly定义如下:

typedef struct {
	int coef;
	int exp;
}PolyTerm;
typedef struct
{
	PolyTerm * e;
	int length;
}SqPoly;

2.39已知稀疏多项式,其中n=em>em-1>...>e1>=0,ci!=0,m>=1。试采用存储量同多项式项数m成正比的顺序存储结构,编写求Pn(x0)的算法,x0为给定值,并分析算法的时间复杂度。

2.40 条件同2.39,编写求P(x)=Pn1(x)-Pn2(x)的算法,将结果多项式存放在新辟的空间中,并分析你的算法的时间复杂度。

思路分析:2.39-从头遍历到表尾,x的指数次就是一个阶乘,不用另外的函数,直接写在算法中会更加节省时间。

2.40-类似于表的merge算法,这里指数是从大到小排列的(我是从小到大输入的,递增递减不影响结果),不需要考虑排序&

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值