数列

来源:互联网 发布:尚学堂python视频 编辑:程序博客网 时间:2024/05/17 01:39

什么是数列

按照一定顺序排列的一列数称为数列。

数列中的每个元素称为项。

常见的数列种类有:

项数有限的数列称为有穷数列,反之为无穷数列。等差数列等等。


通项公式

数列可以表达为:{ f(1),f(2),f(3),....f(n) }  其中的1,2,3...n就是数列的index,也就是序号。

如果数列{a}的第n项与序号n之间的关系可以用一个公式来表达,那么这个公式称为这个数列的通项公式。当然,有些数列是没有通项公式的。

例如,数列 1,3,5,7,9....的通项公式就是f(n)=2n-1.

而著名的Fibonnaci数列的通项公式就是:F(n)=F(n-1)+F(n-2)

如果我们采用递归算法来计算F(n),可以看到,其实就是直接应用了通项公式。

public static long Fib1(int n){
        if (n==1)
            return 1;
        if (n==2)
            return 2;
        return Fib1(n-1)+Fib1(n-2);
    }

凡是通项公式是F(n)=2n这样的项值仅和序号相关的数列,都可以使用代码简单计算。

凡是通项公式是F(n)=F(n-1)+F(n-2)这样的需要递推的数列,则都可以使用递归解决。但是由于递归的效率很低,一般会采取其他一些更巧妙的算法。因为递归算法其实对时间和空间的消耗都很大。


等差数列和等比数列

等差数列:

即这样的数列: 1,4,7,10,13....规律是从第二项开始,每一项的值减去前一项的值,是一个固定的数值。这个值称为公差,这个例子的公差为3.

通项公式:f(n)=f(1)+d(n-1) 。其中d为公差。

前n项和为: n(f(1)+f(n))/2 这个公式是从著名的高斯算法来的。


等比数列:

即这样的数列: 1,2,4,8,16....规律是从第二项开始,每一项的值和前一项的值的比,是一个固定的数值。这个值称为公比,这个例子的公差为2.

通项公式:f(n)=f(1)*q的(n-1)次幂。其中q为公比。

前n项和为: f(1)(1-q的n方)/(1-q)


原创粉丝点击