时间复杂度:在计算机当中,算法的时间复杂度是可具化的,用一个函数来进行估算一个值。现在的电脑处理器是多种多样的,同样的代码放在windows和mac上花费的时间也是不尽相同的。假设我们的代码每执行一次所耗费的时间是相同的,那么我们执行的次数越多,时间复杂度也就相对的越高。

就像我们学习定理一样,时间复杂度也有对应的公式时间复杂度也是表示计算一段代码所执行的总次数。

f(n):表示代码执行时,问题的的复杂程度 f:function

很显然a不能为0,通常我们表示复杂度的时候用O(x)来进行表示。机器运行代码的速度很快,一两行代码在几微秒就可以执行完成,这样的时间我们完全可以忽略不计。

常见的时间复杂度如下:

一般来说,只要算法里没有特殊的递归遍历他的复杂程度都是默认为1,因为代码的执行次数不会因为变量的改变而改变执行的次数。

二分查找法log(n)

假设有一电线中间断了,那么最快查找到断线之处就是每次选择一半进行查看,如果第一次没发现就选择一半的一半进行查看,依次类推。

我们知道,代码在运行时是要首先处理我们的代码转变成机器码,然后保存这些机器码进行一个计算,空间复杂度讲的就是代码在机器上所占用空间的大小。

其实,我们在生活中更看重时间复杂度,现在的电脑最少都是几个G的运行内存,完全没必要因为这点空间而担心,我们在编写代码的时候主要是看代码的嵌套,如果一个函数是指数级的增加时间,那么你就要小心了,电脑分分钟给你**。