bac*_*ard 2 algorithm complexity-theory big-o
假设 f( n ) = O( n 2 ) + n log n。以下哪些是可能的?
- f( n ) = ?(log n )
- f( n ) = ?( n )
- f( n ) = ?( n 2 )
- f( n ) = ?( n 3 )
由于包含 O( n 2 ) ,我对运行时函数有点困惑。我相信答案是 2 和 3,因为它们中的每一个都可以乘以一个数字以达到 O( n 2 )。具体地,可以将?( n 2 )乘以1达到上限O( n 2 ),并且可以将?( n )乘以n达到上限O( n 2 )。
我对么?
我想唯一正确的答案是(3)。O(n^2)是任何增长一样快n^2或减慢的函数。n log n = O(n^2),O(n^2) + n log n渐近“介于”n log n和的任何函数也是如此n^2。在您问题中的所有 Thetas 中,只有第三个符合这些界限。