时间复杂度
来源:互联网 发布:淘宝卖家退款要验证码 编辑:程序博客网 时间:2024/05/22 06:10
假设有一条程序语句,如果要确定执行这条语句的时间总量,需要知道:该语句的执行次数和每执行一次所需要的时间。这两项的乘积就是该语句的时间总量。我们知道,程序执行一次所需要的时间由许多因素决定,比如所用机器、编程语言及编译程序等计算机软硬条件。抛开这些因素不谈,算法所消耗的时间主要取决于算法中指令重复的次数,这样语句的执行次数可有算法本身直接确定。
上界函数:如定理1-1所示,f(n)是计算时间g(n)的一个上界函数,g(n)的数量级为f(n)。
下界函数: 如定理1-3所示,f(n)是计算时间g(n)的一个下界函数。
在某些时候,f(n)既是g(n)的上界,也是g(n)的下界。为方便起见,我们用另一个数学符号来表示:
从计算时间上可以把算法分成两类,凡是可以用多项式来对其时间界
定的算法,称为多项式时间算法;而计算时间指数函数界定的算法称
为指数时间算法。关系如下:
在进行算法分析时,我们要确定能反映算法在各种情况下工作的数据
集,选取的数据要能够反映各种情况,包括最好情况下的时间复杂度
(时间复杂度下界)、最坏情况下的时间复杂度(时间复杂度上界)、
平均情况下的时间复杂度。通过使用这些数据配置来运行算法,以了
解算法的性能。
0 0
- 时间复杂度,空间复杂度
- 时间复杂度&空间复杂度
- 时间复杂度 & 空间复杂度
- 时间复杂度、空间复杂度
- 时间复杂度 空间复杂度
- 时间复杂度&空间复杂度
- 时间复杂度/空间复杂度
- 时间复杂度+空间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 4.0 编译apk中无classes.dex问题解决方法
- sql之left join、right join、inner join的区别
- json对象创建
- SERC2013 J You Win!
- JBoss下EJB3.x简单环境搭建实例
- 时间复杂度
- 【可变参数】数组赋给可变参数,采取的策略是【拆】,简单数据类型数组看成是一个对象
- linux C 编译时手动链接遇到的问题(未解决)
- 在Action中以Struts2的方式输出JSON数据
- ORACLE 10g下载|ORACLE 10g下载地址|ORACLE 10g官网下载地址
- Java中HashMap遍历的两种方式
- 杨中科 【我来解惑】.Net应该学什么怎么学(一)
- R语言编程基础
- 【贪心】codeforces45E Director