算法运行时间分析及相关知识总结
1. 算法运行时间基础概念
算法的运行时间通常表示为其输入或输入数量的函数。执行时间的量级从小到大依次为:常数级、对数级、多项式级和指数级。其中,指数级的运行时间是不理想的,因为随着输入规模的增大,其执行时间会急剧增长。
在行业中,大O符号(Big - Oh notation)是表示运行时间的标准符号。对于表示算法运行时间的数学函数,该函数的大O表示就是其最主要项的大O,并且会忽略该项的系数。同时,方法的编码方式会直接影响其运行时间。
2. 练习题与问题解答
2.1 选择题
以下是一些关于大O表示的选择题:
1. 函数 (T(n) = n^2 - 2n + 99) 的大O表示是?
- 选项:
- (O(n^2))
- (O(99))
- (O(n))
- (O(1))
- 答案:(O(n^2)),因为在该函数中,(n^2) 是最主要的项。
2. 函数 (T(n) = n^3 + 10n^2 + 20n + 30) 的大O表示是?
- 选项:
- (O(n^3))
- (O(n^2))
- (O(n))
- (O(1))
- 答案:(O(n^3)),(n^3) 是最主要项。
3. 函数 (T(n) = n^2 + n * log n + 12n + 5) 的大O表示是?
- 选项:
- (O(n * log n))
- (O(n^2))
- (O(n))
- (O(1))
- 答案:(O(n^2)