一个算法中的语句执行次数称为语句频度或时间频度。记为 T(n)。
一般情况下,算法中基本操作重复执行的次数是问题规模 n 的某个函数,用 T(n)表示,若有某个辅助函数 f(n),使得当 n 趋近于无穷大时,T ( n)/f(n)的极限值为不等于零的常数,则称 f(n)是 T(n)的同数量级函数。记作 T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。
这两段话来源于
http://www.cnblogs.com/yuzhuwei/p/4178370.html
http://www.cnblogs.com/dzhs/p/5415961.html
等多个 blog
那么请问这两者是一个概念吗?如果不是,那么为什么都用 T(n)表示呢?
谢谢大家帮忙解答
注: 通过搜索以后,给的答案普遍没有解释 T(n)这个记号的问题,另外,也有看到时间频度用 f(n)表示,所以更加困惑了
1
geelaw 2017-08-20 22:29:55 +08:00 via iPhone
如果一个语句的时间是常数那就没啥区别
|
2
Doragd OP @geelaw 抛开概念的问题,我的理解是如果 T(n) = n^2 + 2*n 的话,那么复杂度就是 O(n^2) 忽略了低阶项,但是我还是不明白概念上为什么这两者记号相同呢?
|