目录
前言
一:算法的时间复杂度
1.定义
2.简单的算法可以数循环的次数,其余需要经过计算得出表达式
3.记法:大O的渐近表示法
表示规则:对得出的时间复杂度的函数表达式,只关注最高阶,其余项和最高阶的系数皆忽略;常数次均有O(1)表示
量级:O(N*N),O(N),O(1),O(2^N),O(logN),O(N*logN)
4.经典实例
二:算法的空间复杂度
1.概念
2.经典实例
接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧
前言
当我们写程序尤其是写OJ题时常常会看见要求时间复杂度和空间复杂度。其实评价一个算法好不好,常常从时间复杂度和空间复杂度两个方面说起,时间复杂度简单来说就是衡量程序跑的快不快空间复杂度就是程序运行时占用空间的大小,两个均为数学函数表达式,接下来将详细介绍
一:算法的时间复杂度
1.定义
算法的时间复杂度是一个程序中语句的执行次数关于问题规模的数学函数表达式,通过表达式来确定时间复杂度的量级
2.简单的算法可以数循环的次数,其余需要经过计算得出表达式
3.记法:大O的渐近表示法
表示规则:对得出的时间复杂度的函数表达式,只关注最高阶,其余项和最高阶的系数皆忽略;常数次均有O(1)表示
量级:O(N*N),O(N),O(1),O(2^N),O(logN),O(N*logN)
如:经过计算得出的时间复杂度的函数表达式为F(N)=2*n*n+7*n+3,只关注最高阶则用大O表示法就是O(N*N)
4.经典实例
1.
对于这种较复杂的我们就不能简单数循环,而是要经过计算
2.
对于递归的我们就要画递归展开图 ,每次调用递归展开时间复杂度都是常数次O(1)
3.
二:算法的空间复杂度
1.概念
同时间复杂度,主要统计另外开辟变量的个数
2.经典实例
三:分享到此结束