算法时间复杂度
来源:互联网 发布:java软件工程师月薪 编辑:程序博客网 时间:2024/06/10 17:40
算法是解决某一特定类型问题的有限运算序列。
算法的特征:有穷性、确定性、可行性、输入和输出。
算法的评价:正确性、可读性、稳定性和算法效率。其中算法效率通过算法时间复杂度和空间复杂度来描述。
时间复杂度:指算法中包含简单操作的次数。一般以数量级形式体现。
空间复杂度:指算法运行过程中临时占用的存储空间的大小。一般以数量级形式体现。
1时间复杂度的计算
/*示例1:分析一下程序段的时间复杂度*/for (i = 0; i < n; i++) /*语句1*/{ y = y + 1; /*语句2*/ for (j = 0; j <= 2*n; j++) /*语句3*/ x++; /*语句4*/}
分析:
语句频度是指该语句重复执行的次数。一个算法中所有语句的频度之和构成了该算法的运行时间。
语句1的频度:n+1
语句2的频度:n
语句3的频度:n*(2n+2)
语句4的频度:n*(2n+1)
于是,该程序段的时间复杂度T(n)=(n+1)+n+n*(2n+2)+n*(2n+1) = 4n*n+5n+1=O(n*n)
/*示例2:分析一下程序段的时间复杂度*/i = 1;while (i <= n) i = i * 2;
分析:
2常用时间复杂度关系
3常见排序算法的时间复杂度
0 0
- 算法 时间复杂度|空间复杂度
- 算法 时间复杂度|空间复杂度
- 算法 时间复杂度|空间复杂度
- 算法时间复杂度&空间复杂度
- 算法-时间复杂度、空间复杂度
- 算法复杂度--时间复杂度,空间复杂度
- 算法的时间复杂度
- 算法时间复杂度
- 算法的时间复杂度
- 算法的时间复杂度
- 算法的时间复杂度
- 算法的时间复杂度
- 算法的时间复杂度
- 算法的时间复杂度
- 算法的时间复杂度
- 算法的时间复杂度
- 算法时间复杂度基础
- 算法的时间复杂度
- 【数据存储】coredata、sqlite、fmdb和sqlitepersistentobject
- Android&iOS崩溃堆栈上报
- Linux网络编程入门
- DRF算法
- android 4.4省电技术详解,如何开发一个省电的app
- 算法时间复杂度
- HTML select处理文字超出宽度自动换行的问题
- 分享:Android清除本地数据缓存代码
- ApplicationContext和BeanFactory的不同之处
- Xcode 7 添加新设备
- 【数据结构与算法】——基数排序
- Maven管理java工程
- iOS与JS交互实战篇(Swift/ObjC)
- SQL截取字符串