`
wangxiaohigh
  • 浏览: 1426145 次
文章分类
社区版块
存档分类
最新评论

大O表示法

 
阅读更多
如果算法A需要的时间与f(n)成正比,则算法A成为f(n)阶,表示为O(f(n))。函数f(n)称为算法的增率函数(growth-rate function)。该表示法使用大写字母O来表示(order),故称大O表示法。若规模为n的问题需要的时间与n成正比,则问题表示为O(n),即n阶。若需要的时间与n^2成正比,则问题表示为O(n^2),以此类推。
下面是算法的阶的定义。
若存在常量k和n0,使算法A在解决规模n>=n0的问题时,需要的问题单元不大于k*f(n),则算法A为f(n)阶,表示为O(f(n))。
O(f(n))定义中的条件n>=n0正式阐明了问题规模足够大的概念,一般地,有很多k和n值可以满足这个定义。大O表示法的几个数学属性有助于简化算法分析。在讨论这些属性是要记住,O(f(n))意为f(n)阶,O并不是一个函数。
1)可忽略算法增率函数的低阶项。
2)可忽略算法增率函数中高阶项的倍数常量。
3)O(f(n))+O(g(n))=O(f(n)+g(n))可组合增率函数。
分享到:
评论

相关推荐

    时间复杂度和空间复杂度,大O表示法【数据结构和算法入门2】

    时间复杂度和空间复杂度,大O表示法【数据结构和算法入门2】

    大O表示法复杂度速查表

    大O表示法复杂度速查表 包括搜索、排序、图、堆算法及各种数据结构的大O复杂度表示法。

    [2.2.1]--202)大O表示法.srt

    [2.2.1]--202)大O表示法.srt

    《Java数据结构和算法》学习笔记(1)——数组 二分法 大O表示法

    NULL 博文链接:https://yuan.iteye.com/blog/301491

    Java常用算法手册

    1.大O表示法:粗略的量度方法即算法的速度是如何与数据项的个数相关的 算法 大O表示法表示的运行时间 线性查找 O(N) 二分查找 O(logN) 无序数组的插入 O(1) 有序数组的插入 O(N) 无序数组的删除 O(N) 有序...

    C++数据结构与算法

     2.3 大O表示法的性质  2.4 Ω表示法与Θ表示法  2.5 可能存在的问题  2.6 复杂度示例  2.7 确定渐近复杂度示例  2.8 最好、平均和最坏情况  2.9 摊销复杂度(amortized complexity)  2.10 NP完整性  2.11...

    数据结构与算法:C#语言描述

    本书介绍的方法非常实用,采用了时间测试而非大O表示法来分析算法性能。内容涵盖了数据结构和算法的基本原理,涉及数组、广义表、链表、散列表、树、图、排序搜索算法以及更多概率算法和动态规则等高级算法。此外,...

    《数据结构与算法(C#语言描述)》源码

    本书介绍的方法非常实用,采用了时间测试而非大O表示法来分析算法性能。内容涵盖了数据结构和算法的基本原理,涉及数组、广义表、链表、散列表、树、图、排序搜索算法以及更多概率算法和动态规则等高级算法。此外,...

    数据结构与算法

    《数据结构与算法C#语言描述》介绍的方法非常实用,采用了时间测试而非大O表示法来分析算法性能。内容涵盖了数据结构和算法的基本原理,涉及数组、广义表、链表、散列表、树、图、排序搜索算法以及更多概率算法和...

    数据结构与算法C#语言描述(中文)

    《数据结构与算法C#语言描述》介绍的方法非常实用,采用了时间测试而非大O表示法来分析算法性能。内容涵盖了数据结构和算法的基本原理,涉及数组、广义表、链表、散列表、树、图、排序搜索算法以及更多概率算法和...

    big_o_ref:使用 Meteor 构建的大型 O 符号参考应用程序

    Big O Notation 参考应用...来自应用程序创建者的报价使用 Big O Notation Reference App 可以减少您对理解大 O 表示法的挫败感如何开始前往或下载应用程序(即将推出)。 选择您想了解更多的大 O 订单。 获取知识。

    《算法详解 卷1 算法基础》_徐波译

    本书共有6章,主要介绍了4个主题,它们分别是渐进性分析和大O表示法、分治算法和主方法、随机化算法以及排序和选择。附录A和附录B简单介绍了数据归纳法和离散概率的相关知识。本书的每一章均有小测验、章末习题和...

    Java语言-数据结构与算法视频教程 (第一部分)

    |____05.JavaDS_存储对象的数组和大O表示法.mp4 |____04.JavaDS_有序数组和二分查找.mp4 |____03.JavaDS_数组基础知识.mp4 |____02.JavaDS_数据结构和算法的概述.mp4 |____01.NetBeans_下载和安装.mp4

    [详细完整版]数据结构描述.doc

    一、数据结构描述: 1. 插入操作:对于一般数组(不包括有序数组)而言,插入... 二、效率的比较: 由上面的描述可以看出,对于一般数组的插入操作,消耗时间用大O表示法为:O(1) ,即消耗常数的时间。而删除操作和查

    数据结构知识点总结(1).pdf

    第一章 复杂度分析 时间复杂度 : 大 o 表示法:c*log2 n^2^3!^n 加法原理:Omax(f(n),g(n),h(n)……)\乘法原理: Omax(f(n )*g(n)) 空间复杂度: 第二章 数组存储 数组:( s:一个元素的大小、t:某个维度的长度) 1 ...

    Java数据结构和算法(第二版)

    大O表示法 为什么不用数组表示一切? 小结 问题 实验 编程作业 第3章 简单排序 如何排序? 冒泡排序 选择排序 插入排序 对象排序 几种简单排序之间的比较 小结 问题 实验 编程作业 第4章 栈和队列 不同的结构类型 ...

Global site tag (gtag.js) - Google Analytics