(转载请注明出处:http://blog.csdn.net/buptgshengod)

1.背景知识

大O标记就不用我说了吧。O(n)这种时间复杂度的意义自己google吧。这里简单讲下从代码推算。

2.具体案例

(1)案例一

int a=0;                      //第一行
for(int i=0;i<=N;i++)//第二行
{a+=i*i*i;                  //第三行
}

我们来看下。

第一行,声明变量并赋值用一个时间单元;
第二行,首先给i赋值,一个时间单元。i<=N是N+1个时间单元。i++是N个时间单元。第二行总共2N+2个时间单元。
第三行,一个加法,一个赋值,两个乘法,一共四个时间单元。执行N次,一共4N个时间单元。
所以这段代码一共6N+3个时间单元。时间复杂度为O(N);

(2)案例二

   一个for循环
for(int i=0;i<=N;i++)

时间复杂度O(n)

 
  嵌套for循环
for(i=0;i<n;i++)
{for(j=0;j<n;j++){}
}

时间复杂度O(n²)

 三层嵌套语句

for(m=0;m<n;m++)
{int a=0;for(i=0;i<n;i++){for(j=0;j<n;j++){}}
}

时间复杂度为O(n³)。

if/else语句

时间复杂度,是if和else中最长的那个。
简单的递归函数如
public static int test(int n)
{if(n<=1){return 1;}else{return n*test(n-1);}
}

相当与一个for的循环,时间复杂的是O(n)

【算法与数据结构】关于代码运行时间复杂度的计算方法相关推荐

  1. 长期跟踪经典之作2--- LCT 算法论文阅读与代码运行

    好了  TLD很费劲地弄完了,现在开始进阶的SHJT大神的LCT,就是长期追踪,我相信未来这个方向会火起来的. 这两天琢磨完了论文,这里罗列一下读论文主要需要参阅的: 1 STC (用到了时空上下文分 ...

  2. 算法与数据结构之递归行为时间复杂度估算

    对递归行为时间复杂度的估算需要使用到master公式 master公式: T(N) = a*T(N/b) + O(N^d) T(N):样本量大小为N的情况下,时间复杂度 N/b:子过程的样本量 a:子 ...

  3. 算法与数据结构(三) 时间复杂度分析 [例题]

    时间复杂度分析 用几种分析方法分析下面函数的时间复杂度 // 全局变量,大小为10的数组array,长度len,下标i. int array[] = new int[10]; int len = 10 ...

  4. C语言算法与数据结构[2023-01-29]

    C语言算法与数据结构[2023-01-29] 算法与数据结构 大作业 (2022 -2023 学年第 1 学期) 学 院 电子信息工程学院 专业班级 电信20-2班 学 号 202005010209 ...

  5. 【恋上数据结构】排序算法前置知识及代码环境准备

    排序准备工作 何为排序? 何为稳定性? 何为原地算法? 时间复杂度的知识 写排序算法前的准备 项目结构 Sort.java Asserts.java Integers.java Times.java ...

  6. Python数据结构与算法笔记(一):时间复杂度与空间复杂度

    学习内容来自清华计算机博士带你学习Python算法+数据结构.目前内容截止到树结构,后续的高级算法以后会补上. 算法概念简述 数据结构:数据存储 时间复杂度 每个电脑配置不一样.同一个程序执行的时间不 ...

  7. 如何写出高性能代码(一)善用算法和数据结构

    同一份逻辑,不同人的实现的代码性能会出现数量级的差异: 同一份代码,你可能微调几个字符或者某行代码的顺序,就会有数倍的性能提升:同一份代码,也可能在不同处理器上运行也会有几倍的性能差异:十倍程序员不是 ...

  8. SQL性能优化中的底层概念,时间复杂度,算法和数据结构,数据库组成,查询优化和表关联原理.

    原文地址: http://blog.jobbole.com/100349/ 一提到关系型数据库,我禁不住想:有些东西被忽视了.关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 ...

  9. python算法与数据结构-二叉树的代码实现(46)

    阅读目录 一.二叉树回忆 二.二叉树比链表好在哪里? 三.二叉树的节点定义(C语言版) 四.定义一个二叉树(C语言版) 五.初始化树(C语言版) 六.创建节点(C语言版) 七.插入节点(C语言版) 八 ...

最新文章

  1. Module ‘celery‘ has no attribute ‘celery‘问题
  2. 浅谈CSRF攻击方式
  3. 一个苏州IT人的5年挨踢经历-------面试篇(之三)
  4. python 遍历目录_Python遍历目录的4种方法实例介绍
  5. 洛谷.4252.[NOI2006]聪明的导游(提答 直径 随机化)
  6. kong组件_KONG基础使用-阿里云开发者社区
  7. LPSTR, LPCSTR ,LPTSTR,LPCSTR,LPWSTR LPCWSTR
  8. php satellite_object_to_string,php object如何转string
  9. python web环境傻瓜搭建_python——web 环境搭建
  10. STM8单片机产生随机数
  11. java 完全背包问题算法_算法笔记(c++)--完全背包问题
  12. CUDA中二级指针表示二级数组
  13. 【论文解读】结合概率图模型和神经网络做图片问答
  14. Python使用jieba库实现分词统计词频
  15. kux格式怎么转换成mp3_优酷kux1080转码工具 1080p kux格式转换mp4|优酷kux格式转换成MP4格式...
  16. php变量控制结构与函数,LAMP兄弟连原创视频教程(PHP笔记一--变量,流程控制结构,函数)...
  17. Docker服务,堆栈和分布式应用程序捆绑
  18. flex 调用 flash影片剪辑
  19. vue实现实时直播 摄像头实现实时直播 dplayer+flv flv.js
  20. 知否为何要用李清照如梦令诗词当片名?这个解释,无力反驳

热门文章

  1. 2020年余丙森概率统计强化笔记-第五章 大数定律和中心极限定理 第六章 数理统计
  2. centeros php pgsql,centos php添加pgsql扩展
  3. 图片浏览器每次只能打开一张图片_导出阿里国际站图片银行中的图片到电脑
  4. c++自底向上算符优先分析_c语言运算符的优先级
  5. java基础学完就直接学ssm_java基础学习笔记3(SSM基础)
  6. idea启动webservice_Intellij Idea 之 WebService客户端测试
  7. 使用非常驻任务管理事件
  8. 光滑粒子流体动力学_基于SPH(光滑粒子流体动力学)算法的流体仿真
  9. java如何获得键值_如何在java中取map中的键值 的两种方法
  10. windows docker 卸载_安装Docker(Docker Toolbox)与Splash库