简单来说 O(f(n))就表示f(n)是T(n)的某种上界 对于充分大的n而言

那么类似 g(n)是T(n)的某种下界

我们分析算法效率的时候 总归是希望不管是上届还是下届 都尽可能跟它的真实情况贴的越近越好 所以我们一般取得是我们能找到的最小上界或者最大下界

我们知道log n 是最好的函数,log n是涨的最慢的。作为一个程序员,在设计算法时,每当看到一个算法的复杂度是n²,一个下意识本能反应,我有没有办法 把它降成nlog n。如果你能降成nlog n,那个效率的提高是非常非常明显的

比如说有两段算法 我们知道他们复杂度的上界是什么 那么把两段算法拼在一起时 总时间就是两段的和 他们的上界就是两个上界之间最大的那个。当把两个算法嵌套起来要相乘的时候,他们的上界就是他们上界的乘积

小测验: 下面一段代码的时间复杂度是?

if ( A > B )
{    for ( i=0; i<N; i++ )for ( j=N*N; j>i; j-- )A += B;
}else {    for ( i=0; i<N*2; i++ )for ( j=N*2; j>i; j-- )           A += B;
}

复杂度的渐进表示法(时间复杂度)相关推荐

  1. 时间复杂度以及空间复杂度(大O的渐进表示法)

    目录 1.算法效率 2.时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 3.空间复杂度 1.算法效率 算法效率分析分为两种:第一种是时间效率,第二种是空间效率. 时间效率被称为时间复杂 ...

  2. 算法时间复杂度的渐进表示法 + 分析窍门

    如果算法里面只有加减法,则算法时间算加减法的次数. 如果算法里面包含加法和乘法,则算法时间一般只算乘法次数,因为计算机计算加减法很快,可忽略. 问题:什么是好的算法? 一个程序的运行时间,依赖与算法的 ...

  3. 分析算法时间复杂度---渐进表示法

    一.前置疑问 Q1.为什么要学习算法 Q2.满足什么条件才能说这是一个好算法 Q3.如何分析算法 二.学习内容 1.什么是算法 算法不一定是程序,只有当用计算机程序是设计语言描述时,才是程序. 解决一 ...

  4. 算法复杂度及渐进符号

    算法复杂度及渐进符号 一.算法复杂度 每一个程序在运行时,都需要占用一定的计算机资源,比如内存,磁盘,这些称之为空间. 计算过程中需要判断,循环执行某些逻辑,周而反复,这些是时间. 那么我们可以通过算 ...

  5. 算法复杂度(时间频度,时间复杂度介绍计算,空间复杂度)

    算法的时间复杂度 度量一个程序(算法)执行时间的两种方法 事后统计的方法(直接运行看花了多长时间) 这种方法可行, 但是有两个问题:一是要想对设计的算法的运行性能进行评测,需要实际运行该程序:二是所得 ...

  6. 【计算理论】计算复杂性 ( 算法复杂度标记 | 渐进上界 | 大 O 记号 | 常用的渐进上界 )

    文章目录 一.渐进上界 二.大 O 记号 三.常用的渐进上界 一.渐进上界 g(n)\rm g(n)g(n) 是 f(n)\rm f(n)f(n) 的渐进上界 : 存在 c\rm cc , 并且存在 ...

  7. 算法刷题必会知识:由数据范围反推算法时间复杂度

    写在前面:刷算法题的时候,需要判断某一算法是否可以解决该问题,或者该问题需要时间复杂度是多少的算法才可以解决. 这就要求对数据规模和时间复杂度的关系有一个大概的认识: 参考资料:https://www ...

  8. PHP复杂度,php 常用算法和时间复杂度

    按数量级递增排列,常见的时间复杂度有:常数阶O(1),对数阶O(log2n),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3) 复制代码 代码如下: //二分查找O(l ...

  9. 欧几里得算法时间复杂度简单分析

    前言 这个问题是在<数据结构与算法C++描述(第三版中文)>所遇到的,文中给出的迭代次数O(logN)的结果就像是教授所说的"显然"一样高深莫测,有点云里雾里的感觉!在 ...

最新文章

  1. 数据中台应该包含什么?
  2. 语言翻译成汇编语言_学习编程有没有必要从C语言和C++学起?应该怎么学?
  3. 【机器学习基础】数学推导+纯Python实现机器学习算法23:kmeans聚类
  4. (数据库系统概论|王珊)第三章关系数据库标准语言SQL-第四节:数据查询
  5. 使用TensorFlow.js的AI聊天机器人三:改进了文本中的情感检测
  6. [设计模式-结构型]代理模式(Proxy)
  7. Android开发笔记(一)手势识别
  8. Eclipse安装git插件以及关联导入GitHub项目
  9. jenkins修改pom文件_jenkins参数化配置,pom.xml配置
  10. 人月神话贯彻执行_《人月神话》读后感与读书笔记
  11. Google 推出移动版任务管理工具 Google Tasks
  12. python筛选数据求均值_Python数据分析之从100万条数据中筛选出前100热门电影
  13. 二分法查找python的实现
  14. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_16-CMS前端工程创建-导入系统管理前端工程...
  15. Mac上十个必备的效率软件
  16. Springboot项目 web 添加 favicon.ico图标
  17. 待办事项桌面_Win干货 | 电脑桌面清单助手
  18. :-1: error: dependent ‘..\camera3d\qss\main.qss‘ does not exist.
  19. 《孙子初问世》--游戏策划书
  20. 【傅里叶变换】DFT详细分析与Python实现

热门文章

  1. 产品的道、法、术(道篇)——老吴说产品
  2. Nginx实现前后端分离(springboot+vue)+双机互备
  3. 鹰软件测试初学者,刚入手的 4T紫盘 和 4T酷鹰 测试对比
  4. 4t硬盘实际容量是多少_怎么对大容量硬盘(例如4T硬盘)进行查看并分区
  5. 虚拟服务器怎样做网站,怎么用虚拟主机做网站
  6. Ubuntu 开机画面
  7. 发布golang第三方包
  8. Latex在论文中输出微米和cm-1
  9. 常用数据集/工具下载地址
  10. 回溯法 n皇后 python 解法一