人工智能数学基础
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 数列

数列是按照某种顺序排列的一组数,其在计算机科学中的应用非常广泛,如在程序设计[4]、数据结构[5]的学习、使用过程中,经常遇到线性结构中的数组、列表、字符串等结构,它们都可以理解成数列。

2.2.1 数列的概念

1.数列

定义2-17 按照一定顺序排列的一组数称为数列。

按照函数定义的方式,数列也可以理解成以正整数集合(或它的有限子集)为定义域的函数。

数列一般表示为img,记作img。如{1,2,3,4,…,n,…}{2,4,6,8,…,2n}{2,4,6,8,10,12,14,16,18,20}都是数列。

可以利用Python中的列表表示数列,假设需要表示由不超过自然数20的偶数构成的数列,可以通过如下定义完成:

img

或者

img

2.数列的相关概念

定义2-18 数列中的每个元素称为该数列的项。数列的第一个项称为首项。对于数列imgimg为首项,img为第img项。

数列的通项公式:如果数列img的第imgimg与正整数img的关系能用一个公式来表示,那么将这个公式称为数列的通项公式。

例2-5 数列{2,4,6,8,…,2n}的通项公式为img,利用Python实现该数列的表示方法,假设n=10,则程序如下:

img

输出结果如下:

img

2.2.2 数列的分类

数列可以按照不同的方式进行划分。

1.按照数列的项数划分

(1)有穷数列:数列中的项是有限的,如{1,2,3,4,5,6,7,8,9,10}{2,4,6,8,…,2n}都是有穷数列。

(2)无穷数列:数列中的项是无限的,如{1,2,3,4,…,n,…}是无穷数列。

2.按照数列项之间的大小关系划分

(1)递增数列:从数列的第二项起,每项都大于其相邻的前一项,这样的数列称为递增数列,如{1,5,10,11,15,26,37,48,59,100}{2,4,6,8,…,2n}(n为正整数,n≥5)都是递增数列。

(2)递减数列:从数列的第二项起,每项都小于其相邻的前一项,这样的数列称为递减数列,如{100,59,48,37,26,15,11,10,5,1}{2n,2n-2,2n-4,…,8,6,4,2}(n为正整数,n≥5)都是递减数列。

(3)常数数列:数列的每项都是一个相同的数值,这样的数列称为常数数列,简称常数列。

3.按照数列项之间的变化规律划分

(1)等差数列:从数列的第二项起,每项与其相邻的前一项的差等于同一个常数,这样的数列称为等差数列。其中,后一项与前一项的差称为公差(用img来表示),如{1,4,7,10,13,…,3n+1,…}(n=0,1,2,3,…),{2,4,6,8,…,2n}(n为正整数,n≥5)都是等差数列。

等差数列的通项公式:img,其中,n为项数,img为公差。

等差数列的前n项和公式:img,其中,n为项数。

(2)等比数列:从数列的第二项起,每项与其相邻的前一项的比等于同一个常数,这样的数列称为等比数列。其中,后一项与前一项的比值称为公比(用img来表示)。如{1,3,9,27,…3n,…}(n=0,1,2,3,…)是等比数列。

等比数列的通项公式:img,其中,imgimg为公比。

等比数列的前n项和公式:img,其中,img

2.2.3 综合案例及应用

例2-6 利用Python程序实现对一个数列中的元素进行升序排序。

利用冒泡排序法对数列中的元素进行升序排序,对该算法的分析如下。

(1)通过Python创建一个列表,用来表示数列。

(2)利用循环嵌套进行升序排序,此过程主要是比较相邻元素,若前者比后者大,则两者调换位置。

(3)持续这个过程,直到最后一个元素为止。

(4)输出结果。

对上述算法步骤的程序实现如下:

img

输出结果如下:

img