数据结构包括数据逻辑结构,数据存储结构,以及实现数据操作的算法。
在数据的逻辑结构中,有种常见的而且简单的结构叫做线性结构,即数据元素之间构成一个有序的序列。这一章,我们就来学习线性结构。
下面以一个例子为例,来引入线性结构:
【例1】
一元多项式及其运算
一元多项式的标准表达式可以表示为:f(x) = a0 + a1x^1+......+a(n-1)x^n-1+a(n)x^n
其运算有相加,相减,相乘
如何在计算机中表示一元多项式并实现其运算呢?
我们来看看一元多项式的标准形式:你会发现如果我们能够在计算机中存储一元多项式的项数n,以及每一项的系数a(i),如a0,a1,.....a(n-1),a(n),那么就意味着能够在计算机中来表示一元多项式了。
想想看,有几种方法呢?
方法一:采用顺序存储结构直接表示一元多项式
用一个数组a存储多项式的相关数据:数组分量a[i]表示项x^i的系数a(i), 即用数组分量下标对应于相应项的系数,而数组分量值就是系数。
例如f(x1) = 4x^5-3x^2+1可以用下表的数组表示:
下标i | 0 | 1 | 2 | 3 | 4 | 5 |
a[i] | 1 | 0 | -3 | 0 | 0 | 4 |
现在用这种方法表示后,假设现在要进行多项式的运算。比如要实现两个多项式相加,应该怎么做呢?假设f(x2) =