分析算法运行时间的一些通用规则
来源:互联网 发布:淘宝双11多久发货 编辑:程序博客网 时间:2024/06/05 07:39
1、循环:每一次执行时间*循环次数
//循环n次
for(i=1;i<=n;i++) m = m + 2; //时间常数c
总时间 = c * n = cn = O(n)。
2、嵌套循环:从内到外进行分析,总的运行时间是所有循环规模的乘积
//外层循环n次
for(i=1; i<=n; i++){ for(j=1; j<=n; j++){ k= k+1; //时间常数 }}
总时间 =
3、顺序执行语句:每条语句的运行时间相加
x = x + 1;//时间常数//执行n次for(i=1; i<=n; i++){ m = m + 2; //时间常数}//外层循环执行n次for(i=1; i<=n; i++){ //内层循环执行n次 for(j=1; j<=n; j++){ k = k + 1;//时间常数 }}
总时间 =
4、if-then-else条件语句:最坏情况下的运行时间为,条件判断的时间+最大值(then部分的语句运行时间或else部分的语句运行时间)
//条件:常数if(length() == 0){ return false;//then部分:常数}else {//else部分:(常数+常数)* n for(int n=0; n<length(); n++){ //条件:常数 if(!list[n].equals(otherList.list[n])) return false;//then部分:常数 }}
总时间 =
5、对数级时间复杂度:
如果算法可以在常数时间把问题的规模按照某个分数(一般是1/2)分解,那么该算法的复杂度为O(
for(i = 1; i <= n;) i = i*2;
以上的变量i,每次都是倍增的,1,2,4,8,…,
总时间 =
典型问题二分查找
0 0
- 分析算法运行时间的一些通用规则
- 算法运行时间分析
- 6个算法的运行时间分析
- App通用时间规则
- PMS运行时的一些规则
- 时间复杂度的一些计算规则
- 数据结构与算法分析 2.17 给出有效的算法(及其运行时间分析)
- C++编程中,变量命名的一些通用规则
- 【算法导论】01 运行时间,渐进分析
- 二叉树的一些通用算法(C)
- 算法运行时间的比较
- 关于运行时间的一些想法
- 算法分析的一个简单的例子(运行时间计算)
- 算法的时间复杂度分析
- 算法的时间性能分析
- 算法的时间复杂度分析
- 算法的时间性能分析
- 算法的时间性能分析
- Notification 通知
- appium4 元素定位
- 深入理解Java的接口和抽象类
- 利用IO流中File类 批量修改文件名
- CODESYS 系统概述
- 分析算法运行时间的一些通用规则
- Functions
- SUMO文档012:TraCI教程(中)
- HDU 1402 A * B Problem Plus FFT+convert
- 1053. Path of Equal Weight (30)
- Python 黑魔法研究系列
- Java随机数
- SUMO文档013:TraCI教程(下)
- 07 复用类