2020-06-08

时间复杂度和空间复杂度

O表达的是 它的复杂度是n的怎样一个函数

时间复杂度 :

公式 : T(n) = O( f(n) ) f(n) 表示每行代码执行次数之和,而 O 表示正比例关系
1.O(1) : 常数复杂度
2.O(log n) 对数复杂度 如二分查找
3.O(n) 线性时间复杂度 如二叉树遍历,前序,中序,后续
4.O(n^2) 平方 冒泡排序
5.O(n^3) 立方
6.O(2^n) 指数
7.O(n!) 阶乘

1.O1:无论代码执行了多少行,只要是没有循环等复杂结构,那这个代码的时间复杂度就都是O(1)
2.O(n): for循环里面会执行n遍代码,消耗的时间随着n的变化而变化。所以用O(n)标识
3.O(n^2):O(n)的代码在循环一遍,两个for

空间复杂度

1.如果代码里又数组,数组长度就是空间复杂度。一维数组空间复杂度为传入元素的个数。如果是二维数组,数组长度为n平方,空间复杂度为n平方。
2.如果是递归,递归最深深度,就是空间复杂度。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。