算法分析与哈希表实现
1. 大O表示法相关问题
1.1 问题解答
阅读维基百科上关于大O表示法的页面后,我们来回答相关问题:
1. ** $n^3 + n^2$ 的增长阶 :在大O表示法中,我们只关注最高次项,所以 $n^3 + n^2$ 的增长阶是 $O(n^3)$。同理,$1000000n^3 + n^2$ 和 $n^3 + 1000000n^2$ 的增长阶也都是 $O(n^3)$。
2. ** $(n^2 + n) \cdot (n + 1)$ 的增长阶 :在相乘之前,我们只需要关注最高次项。展开式子可得 $n^3 + n^2 + n^2 + n = n^3 + 2n^2 + n$,所以其增长阶是 $O(n^3)$。
3. ** 如果 $f$ 属于 $O(g)$,那么 $af + b$ 的情况 :因为大O表示法忽略常数系数和常数项,所以如果 $f$ 属于 $O(g)$,那么 $af + b$ 也属于 $O(g)$。
4. ** 如果 $f_1$ 和 $f_2$ 都属于 $O(g)$,那么 $f_1 + f_2$ 的情况 :$f_1 + f_2$ 也属于 $O(g)$。因为大O表示法只关注增长的趋势,两个属于 $O(g)$ 的函数相加,其增长趋势仍然由 $g$ 决定。
5. ** 如果 $f_1$ 属于 $O(g)$,$f_2$ 属于 $O(h)$,那么 $f_1 + f_2$ 的情况 :$f_1 + f_2$ 属于 $O(\max(g, h))$。即其增长阶由 $g$ 和 $h$ 中增长更快的那个决定。
6. ** 如果 $f_1$ 属于