基本算法有:排序算法;枚举和回溯;递归,递归,分而治之;深度优先搜索,宽度优先搜索;贪婪;动态编程。
递归是一种应用广泛的算法,因为它可以被同一个算法反复重复,可以把一个复杂的问题分解成许多简单的问题。
递归实现原理?
递归的本质有三:一是自顶向下,二是自我重复,三是循环中的结束条件。
递归算法的特点
1.编程容易,只需要考虑边界条件和递推方程。
2.效率低,因为重复进入函数会有进出栈的损失,远不如非递归。
一般只有在函数内部消耗远大于访问函数内部消耗的情况下才能安全使用。
区别不大,通式是地面推演式,我们经常用通式进行递推。这是我们研究数字和一些字母之间的规律序列时常用的方法。
有通项的公式一定有递推公式,但是有无限个可行的递推公式。例如
下面是通式。显然,你可以以这种形式读写,你可以添加任意数量的条目;你甚至可以通过嵌入各种函数来编写递归公式。
如果有递推公式,如经典公式,并不总是能得到通项。
调和级数的前缀和至今似乎没有通项。
通用术语公式
算术级数与数学。;的通式:
(d是公差)
几何级数的通式:
(q是公比)
通用术语公式定义
如果数列{an}的第n项与序号的关系可以用一个公式来表示,那么这个公式称为这个数列的通项公式。
简单来说就是一个级数的规律。有了通式,就可以写出级数。
递推公式
算术级数与数学。;的递归公式:
(d是公差)
几何级数的递归公式:
(q是公比)
递归公式的概念:可以给出一个数列(按一定顺序排列的数列称为数列)。
一个数列中的每一个数都称为这个数列中的一个项。排在第一位的数字称为这个数列的第一项(通常也称为第一项),排在第二位的数字称为这个数列的第二项...第n位的数称为这个数列的第n项。因此,数列的一般形式可以写成a1、a2、a3、...,一个,...缩写为{an}),并给出一个数列的一项与其前一项(或前几项)的关系来表示该数列。这个表示级数的公式叫做这个级数的递推公式。递推公式是数列的唯一表示,它包含两个部分,一个是递推关系,一个是初始条件,二者缺一不可。-需要一个结论。是规矩。