常见算法情景的时间复杂度分析

原创 2016年05月30日 09:56:01

内容概述:因为大多数算法基本上是应用循环结构,递归结构, 循环+递归结构;  算法的时间基本上都消耗在这两部分,

因此,分析算法的时间复杂度就是对循环结构的分析或者对递归结构的分析或者对循环递归的复合分析。

==========================================================================================


==========================================================================================

 

======================================递归================================================


==========================================================================================

对于递归式 T(n) = 3T(n/4) + c (n > 1)   

树的高度 h =   ,   最底层有 个结点, 用公式   =  


              

           

           

         

         

         

================================主方法====================================================

  使用主方法,关键在于灵活应用定理:

例1:   可知  , 解得

由于,令=6, 应用主定理情况1,


例2: , 可知, 

解得 , 应用主定理情况2, 


例3: , 可知

解得,, 由于, 令, 

, 设, 使得


成立,应用主定理情况3: 


=======================================End==============================================
























版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

常见算法时间复杂度

时间复杂度 算法分析 同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。...

常见排序算法的稳定性和时间复杂度小结

选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 稳定时间复杂度又是nlogn级别的是归并排序。 冒泡法:  这是最...

算法与时间复杂度

  • 2013-05-29 12:47
  • 38KB
  • 下载

快速排序算法原理,实现,以及时间复杂度分析

#include using namespace std;int count=0; int scount=0; int cycled=0;void output(int *a,int n){ ...
  • xdyzyh
  • xdyzyh
  • 2016-09-07 20:19
  • 1227
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)