一、主定理
1、 主要是计算 n_log_b_a 。求出来之后和后面的Fn进行比较,然后按照规则些出结果就行。
2、一句话解释:这两个值哪一个大就取谁;想等的话先看Fn里面log的次数,最终的结果在log的基础之上+1就是最终结果log的次数。例题如右下角
3、要注意的一点就是:保证T(n)的形式要和定理里面的一样,一个大问题拆解成为几个相等的小问题。
1、例题如上。
2、N!是阶数最高的,属于NP难问题。复杂度是最大的。
3、n的n次方乘以log n。
- Fib数列递推公式的证明(斐波那契数列)
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)
斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
如果设F(n)为该数列的第n项(n∈N*),那么这句话可以写成如下形式::F(n)=F(n-1)+F(n-2)
显然这是一个线性递推数列。
先回顾一下常微分方程:fib数列。假设y=e的lλx次方,解出y。
然后我们猜测一下这个多项式是不是原方程的解呢?结果是。称这个多项式是原常微分方程的通解。
接下来我们猜测Fib数列的:猜测q的n次方,可以计算出来Fib数列的通项公式。
Fib数列前n项和公式及其证明:归纳法
通过通项公式得出Fib数列前n项和:
一个更简单的方法:方程左边加上F1再减去F1,
Fib数列的偶数项和:
总之更多的Fib性质请参考组合数学。
二、P和NP问题
某一个问题根据时间复杂度进行分类。
1、NP:时间复杂度是指数项,比如2的n次方&#