算法复杂度解析

2024-12-05 21:21:12

1、算法复杂度分为空间复杂度和时间复杂度。

算法复杂度解析

2、复杂度一般有O(n),O(n^2),O(logn),O(nlogn),O(1)。代表某个算法,占用时间和空间与数据之间的增量关系。n代表数据输入的量。

算法复杂度解析算法复杂度解析

3、O(n) 代表随着数据量的增大,损耗的内存空间和损耗的时间随之增大。数据量增大多少倍,算法复杂度就增加多少倍。(时间复杂度:遍历算法)

算法复杂度解析

4、O(n^2)代表数据量的增加,算法复杂度增大数据量的平方倍。好比数量增加为8倍,算法复杂度增加64倍。(时间复杂度:冒泡排序,对n个数进行排序计算,需要进行n×n次运算,比线性高)

算法复杂度解析

5、O(logn)是当数据增大n倍的时候,算法复杂度增大logn倍,这个log是用2为底的。比如数据增大256倍,算法复杂度只增加8倍。也就是2的八次方等于256。(时间复杂度:二分查找法,一次找一半,比线性低)

算法复杂度解析

6、O(nlogn)当数据增加n倍,算法复杂度增加n*logn被,也就是当数据增加256倍,算法复杂度增加256*8倍,高于线性,低于平方(时间复杂度:归并排序)。

算法复杂度解析

7、O(1)最低的空间复杂度,这个复杂度与输入的数据无关。无论这个数据是多少,都可以一次性找到数据。(时间复杂度:哈希算法)

算法复杂度解析
猜你喜欢