算法
算法特性
1.有穷性:执行有穷步(有限步)之后结束。
2.确定性:只有唯一的执行路径。
3.可行性:代码可以执行起来。
4、输入:零个或多个输入。
5.输出:一个或多个输出。
时间效率和空间效率有时候是有矛盾的
时间复杂度
时间复杂度概念
概念: 若有某个辅助函数 f ( n ) \color{pink}{f(n)} f(n) 使得当n趋近于无穷大时。 T ( n ) / f ( n ) \color{pink}{T(n)/f(n)} T(n)/f(n)的极值为不等于0的常数,则称 f n 是 T ( n ) \color{pink}{fn是T(n)} fn是T(n)的同数量级函数。记作 T ( n ) = O ( f ( n ) ) \color{pink}{T(n)=O(f(n))} T(n)=O(f(n))称 O ( f ( n ) ) \color{pink}{O(f(n))} O(f(n))为算法的渐进时间复杂度(O是数量级的符号)
时间复杂度是由嵌套最深层语句的频度决定的。
算法运行时间
算法运行时间=(每条语句频度 * 该语句执行一次所需的时间)的求和。
例如
i=1;
while(i<=n)
i=i*2;
解释:
执行循环次数 | |
---|---|
1 | i=1*2=21 |
2 | i=2*2=22 |
3 | i=2*2 *2=23 |
x | i=2x |
i<=n
则
2^x<=n
则
x<=log2(n)
时间复杂度分三种
(1):最坏时间复杂度
(2):平均时间复杂度
(3):最好时间复杂度
以上三种复杂度,通常考虑最坏时间复杂度
空间复杂度
顾名思义: \color{pink}{顾名思义:} 顾名思义:算法所需存储空间的度量。 S ( n ) = O ( f ( n ) ) \color{pink}{S(n)=O(f(n))} S(n)=O(f(n))
文章来源:https://www.toymoban.com/news/detail-442952.html
学的不是技术,更是梦想!!!文章来源地址https://www.toymoban.com/news/detail-442952.html
到了这里,关于算法时间空间复杂度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!