算法结构从时间复杂度开始

————为什么我的眼泪常含泪水,因为我一个算法不会。

逃不了的数据结构和算法,剩下的只有面对了

   今天,3/20/2017。 开始学习数据结构和算法分析。在过去的一年时间都一直在侥幸,一直逃避。但是,该来的终归回来,该不会的还是不会,所以踏上学习数据结构与算法分析的不归路。就先从时间复杂度开始入手吧

什么是时间复杂度?

    在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。

这是度娘上的解释。

我的理解:时间复杂度。分解看,1. 时间,2 复杂度。时间是指CPU处理计算机指令的时间,即一个完整的指令周期。复杂度,是指完成这个指令的时间长度或者是步骤。

计算时间复杂度攻略

1.用常数1取代运行时间中所有的加法常数

2.在修改的运行次数,保留最高项

3.如最高项存在且不是1,则去除与这个项相乘的数。

4,得到的最后结果就是最大O阶

常见的时间复杂度阶

1.常数阶

2,平方阶

3.对数阶

公式

循环时间复杂度=循环体复杂度X循环体运行次数

函数调用的时间复杂度

for(i=1;1<100:i++){

function(){

print(” nana”)

}

}

这个复杂度为O(1)

for(i=1;1<100:i++){

function(){

print(i)

}

}

这个复杂度为O(i)

时间复杂度为 O(1)<O(N)<O(N*N)   时间复杂度越小越好

算法复杂度= 时间复杂度+空间复杂度

    原文作者:起个什么呢称呢
    原文地址: https://www.jianshu.com/p/7bf0faae0e5e#comments
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞