第二章 算法时间复杂度

一、主定理

在这里插入图片描述

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次方&#

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值