2019年05月09日

在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度, 这里进行归纳一下它们代表的含义: 这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。

O后面的括号中有一个函数,指明某个算法的耗时与数据增长量之间的关系。其中的n代表输入数据的量

  • O(n):代表数据量增大几倍,耗时也增大几倍。比如常见的遍历算法。
  • O(logn):当数据增大n倍时,耗时增大logn倍(这里的log是以2为底的,比如,当数据增大256倍时,耗时只增大8倍,是比线性还要低的时间复杂度)。二分查找就是O(logn)的算法,每找一次排除一半的可能,256个数据中查找只要找8次就可以找到目标。
  • O(nlogn):n乘以logn,当数据增大256倍时,耗时增256*8=2048倍。这个复杂度高于线性低于平方。归并排序就是O(nlogn)的时间复杂度。
  • O(1):最低的时空复杂度,也就是耗时与输入数据大小无关,无论输入数据增大多少倍,耗时/耗空间都不变。 哈希算法就是典型的O(1)时间复杂度,无论数据规模多大,都可以在一次计算后找到目标(不考虑冲突的话)

《转载》o(1), o(n), o(logn), o(nlogn) 是什么含义?相关推荐

  1. O(1), O(n), O(logn), O(nlogn) 的区别(转自ted 常)

    在描述算法复杂度时,经常用到O(1), O(n), O(logn), O(nlogn)来表示对应复杂度程度, 不过目前大家默认也通过这几个方式表示空间复杂度 . 那么,O(1), O(n), O(lo ...

  2. 时间复杂度,O(1), O(n), O(logn), O(nlogn) 的区别+样例分析

    在描述算法复杂度时,经常用到O(1),O(n),O(logn),O(nlogn)O(1), O(n), O(logn), O(nlogn)O(1),O(n),O(logn),O(nlogn)来表示对应 ...

  3. 时间复杂度与O(1), O(n), O(logn), O(nlogn) 的区别

    在描述算法复杂度时,经常用到O ( 1 ) , O ( n ) , O ( l o g n ) , O ( n l o g n ) O(1), O(n), O(logn), O(nlogn)O(1), ...

  4. 时间复杂度O(1) O(n) O(logn) O(nlogn)是什么意思?

    在你渐渐迷失在你的人生道路上的时候,千万不要因为走的太久,而忘记了我们为什么出发,做码农,也要清楚自己如何才能用有效的土地种植出 出色的产品,于是细节就需要把握一下. 如果你有兴趣可以关注一下公众号 ...

  5. 算法复杂度O(1),O(n),O(logn),O(nlogn)的区别

    算法复杂度分为时间复杂度和空间复杂度: 时间复杂度是指执行这个算法所需要的计算工作量 空间复杂度是指执行这个算法所需要的内存空间 1.对于一个循环,假设循环体的时间复杂度为 O(n),循环次数为 n, ...

  6. 时间复杂度 O(1),O(n),O(n^2),O(logn),O(nlogn) 详解

    在描述算法复杂度时,经常用到O(1), O(n),O(n^2), O(logn), O(nlogn)来表示对应算法的时间复杂度, 下面解释下他们的含义: 这是算法的时空复杂度的表示.不仅仅用于表示时间 ...

  7. 算法复杂度 O(1),O(n),O(logn),O(nlogn)的区别

    算法复杂度分为时间复杂度和空间复杂度 时间复杂度是指执行这个算法所需要的计算工作量 空间复杂度是指这个算法所需要的内存空间 1.对于一个循环,假设循环体的时间复杂度为O(n),循环次数为n,则这个循环 ...

  8. 时间复杂度O(1),O(n),O(logn),O(nlogn)的意思

    由于平时接触算法比较少,今天看资料看到了o(1),都不知道是什么意思,百度之后才知道是什么意思. 描述算法复杂度时,常用o(1), o(n), o(logn), o(nlogn)表示对应算法的时间复杂 ...

  9. N²logN和NlogN​​²具有相同的增长速度

    N²logN和NlogN²具有相同的增长速度 答案:F 分析: NlogN²可化为2NlogN,而与N²logN相比,在logN前面一个是2N另一个是N²,所以增长速度不一样. ​

最新文章

  1. Java项目:学生考勤管理系统(java+SSM+Poi导出+Easyui+JFreeChart+maven+mysql)
  2. Science:若DTC基因检测达2%成年人群,几乎所有人的身份或将无所遁形
  3. 列名无效怎么解决_电脑win键失效怎么办? 键盘win键无效的解决办法
  4. bigdecimal 设置_BigDecimal
  5. git--分支管理:创建、合并、冲突解决
  6. 树形DP求树的最小支配集,最小点覆盖,最大独立集
  7. RHEL 6.6安装桌面环境GNOME
  8. Symfony1.4.11学习笔记(一):设置环境
  9. SAP Cloud for Customer Sales Lead明细页面视图的UI模型
  10. JavaWeb -- Session实例 -- 自动登录 和 防止表单重复提交(令牌产生器) MD5码
  11. 项目总结2:ionic3开发跨平台App如何设置和替换应用图标及启动图
  12. 【Python】模块学习之ConfigParser读写配置信息
  13. 千呼万唤始出来!诺基亚发预热海报:5摄手机真要来了
  14. 「LibreOJ#516」DP 一般看规律
  15. RestSharp是什么?
  16. 阿里巴巴Java开发手册(终极版)
  17. 计算机专业自我简介50字,2021年个人简历自我评价50字
  18. 发送 HTML 形式的邮件
  19. 播放器实战08 打开AVCODEC
  20. 2022年全球与中国COB发光二极管行业发展趋势及投资战略分析报告

热门文章

  1. [区块链]区块链技术在教育领域的应用
  2. Hadoop技术博文祝大家新年快乐
  3. php发送邮件二种方法 php使用smtp发送邮件
  4. 网安学习(二十五)HTTP协议、HTTS、邮件协议
  5. 《MATLAB 神经网络43个案例分析》:第34章 广义神经网络的聚类算法——网络入侵聚类
  6. hadoop离线阶段(第十三节)数据仓库、hive简介、hive安装和hive的三种交互模式
  7. 苹果App Store 应用商店页面的优化技巧
  8. 谈谈我的技术专家之路
  9. 遥感智能解译相关产品及公司
  10. 2020.10.13--PS--像素化滤镜、扭曲类滤镜、波浪和水波