博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Time Complexity of Loop with Powers
阅读量:4965 次
发布时间:2019-06-12

本文共 600 字,大约阅读时间需要 2 分钟。

以下功能的时间复杂度是多少?

void fun(int n, int k){    for (int i=1; i<=n; i++)    {      int p = pow(i, k);       for (int j=1; j<=p; j++)      {          // Some O(1) work      }    }}

  

上述函数的时间复杂度可以写为1 k + 2 k + 3 k + ... n1 k。

让我们试试几个例子:

k = 1 Sum = 1 + 2 + 3 ... n     = n(n + 1)/ 2     = n2/2+ n/2 k = 2 Sum = 1 2 + 2 2 + 3 2 + ... n1 2。    = N(N + 1)(2N + 1)/ 6     = N3/3 + N2/2 + N/6 K = 3 Sum= 1 3 + 2 3 + 3 3 + ... N1 3。    = N2(N+1)2/4     = N4/4 +N3/2 +N2/4

通常,渐近值可以写为(nk+ 1)/(k + 1)+Θ(nk

请注意,在像Θ这样的渐近符号中,我们总是可以忽略低阶项。

所以时间复杂度是Θ((n k + 1 )/(k + 1))。

转载于:https://www.cnblogs.com/wongyi/p/7685593.html

你可能感兴趣的文章
Spark&Hive结合起来
查看>>
使用Flex和java servlet上传文件
查看>>
软件工程的实践项目课程的自我目标
查看>>
POJ 1321 棋盘问题 (深搜)
查看>>
自定义TabBar
查看>>
最近戴着眼镜坐电脑前总是不自觉的眼痛就搜了下怎么保护眼睛无意中看到了这篇文章希望广大爱好编程的朋友多注意保护自己的眼睛!!...
查看>>
Eclipse快捷键大全
查看>>
Let's Chat ZOJ - 3961
查看>>
该不该主动去联系多年未联系的老同学?看完这篇文章你再回答
查看>>
业务逻辑漏洞个人经验集锦【不定时更新~】
查看>>
[Swift] Storyboard outlet and action
查看>>
[Compose] 10. Capture Side Effects in a Task
查看>>
[Javascript AST] 0. Introduction: Write a simple BabelJS plugin
查看>>
[Core Javascirpt] Basic Metaprogramming: Dynamic Method
查看>>
[Angular2 Router] Use Params from Angular 2 Routes Inside of Components
查看>>
makefile
查看>>
Spring 构造注入和Set注入复习
查看>>
<mvc:annotation-driven/>的作用
查看>>
服务器一:分布式服务器结构
查看>>
迭代dict的value
查看>>