java- Big O符号 - MlogN和MlogM之间的区别?

时间:2017-05-02 20:09:00

标签: algorithm big-o

如果我想找到M log (N) + M log (M )的主导词,我该怎么办?有什么区别MlogN和MlogM ???

1 个答案:

答案 0 :(得分:2)

哪一个占优势取决于M > N还是M < N。如果M > NMlog(N) < M log(M)。如果是M < N,那么M log(N) > M log(M)。全面分析:

  • 保持M不变并允许N变化,这是O(log(N))
  • 保持N不变并允许M变化,这是O(M log(M))
  • 允许N和M都变化,这是O(M log(N) + M log(M)) = O(M(log(N) + log(M)) = O(M log(MN))

问问自己,在MN之间存在明确关系的特定案例或类别的输入中,如果是这样,请使用该关系来得出答案。否则,一般来说,没有单一的“主导”术语,因为支配地位取决于NM之间的关系。

那就是说 - 单独增加M会比单独增加N更快地增加表达式的值,如果你比较那样的增加。