T(N)= 16N + 8N ^ 2 + N ^ 2log(n)+ 6NK + 5N ^ 2K-5NK ^ 2算法的大O符号复杂度是多少

时间:2016-01-22 15:21:26

标签: algorithm time-complexity

我想用

找到算法的大O符号复杂度
T(N) = 16N+8N^2+N^2log(N)+6NK+5N^2K-5NK^2

请注意,K,NK<=N

的正整数

那会是什么?

UPDATE K,N都是算法的输入。

2 个答案:

答案 0 :(得分:1)

答案是来自O(N^3)字词的5N^2K

以下是答案的原因:

  • 16NO(N)
  • 8N^2O(N^2)
  • N^2 log(N)O(N^2 Log(N))
  • 6NKO(N^2)KO(N)
  • 5N^2KO(N^3)(与K相同的原因)
  • -5NK^2也是O(N^3),因为K可能是否定的 自5N^2K以来K<=N始终不会取消之前的O(N^3

最高顺序为T),因此可以回答。

如果N同时包含KT(N,K)(例如K),O(N)不是O(N^2 K),则回答K<N如果O(N^2 log(N))N==K$httpBackend.whenGET('https://api.github.com/user/repos', undefined, { Authorization: "Basic " + btoa("xxxxx:xxxx"), Accept: "application/json;odata=verbose" }).respond(function(){ return [200,[{foo: 'bar' }]]}); Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 2

答案 1 :(得分:0)

如果N和K都是输入,则大O将是两个输入的函数。

  1. 16N具有O(N)
  2. 8N ^ 2 hass O(N ^ 2)
  3. N ^ 2.log(N)具有O(N ^ 2 log(N))
  4. 6NK具有O(NK)
  5. 5N ^ 2K具有O((N ^ 2)* K)
  6. 5NK ^ 2具有O((N)* K ^ 2)
  7. 由于给定K <= N,对于K和N的所有值,复杂度将是O((N ^ 2)* K),因为这是其余部分中的渐近项中的最高项。 但是对于像N = K这样的特殊情况,它可以写成O(N ^ 3)或O(K ^ 3)。