时间复杂度就是通常我们简称的复杂度,O(f(n))表示。
常见的算法时间复杂度由小到大依次为:
Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n*2)<Ο(n*3)<…<Ο(2*n)<Ο(n!)
举例说明:
O(1)
哈希表就是一个很好的实例,正常程序在存储数据的时候,将数据一条一条的存到表中,而在查询某条数据的时候,要对这种表轮询,就是一条一条的比较。而哈希表是这样的,在要存储一条数据的时候,首先是把这个数据根据自己的一套哈希算法来计算,得到一个存储地址,然后存入这个地址对应的位置,所以,当哈希表要查数据的时候,它是直接用哈希算法计算要查询的数据,得到一个存储地址,直接去这个存储地址取出数据就可以了,完全不用去轮询,所以他们所消耗的时间就特别明显了。
Ο(log2n)
i=1
while i < n:
i = i * 2
Ο(n)
s = 0
for i in n:
s += i
Ο(n*2)
s = 0
for i in n:
for j in n:
s += i
Ο(n*3)
s = 0
for i in n:
for j in n:
for m in n:
s += i