Algorithm 这类函数的时间复杂度是多少? void yash(){ int i,j; for(i=1;i
循环将这样迭代-Algorithm 这类函数的时间复杂度是多少? void yash(){ int i,j; for(i=1;i,algorithm,data-structures,graph,tree,time-complexity,Algorithm,Data Structures,Graph,Tree,Time Complexity,循环将这样迭代- 1*log(1)时间 2*log(2)次 以此类推,直到n*log(n)次 在所有这些值中,n*log(n)是最高的(上限)。因此,时间复杂度是渐进的n*log(n) 更新: 如果您为每个迭代计算log(i),而不是将其存储在变量中,那么时间复杂度是O(n*log(n)2),假设计算日志(i)不是O(1)。如果是O(1),那么时间复杂度是O(n log(n))。O时间复杂度?是的O时间复杂度就大O注释而言,O(n*log(n))你认为呢?分享你的想法!这取决于log(i)-
*1
时间log(1)
*2
次log(2)
- 以此类推,直到
次n*log(n)
n*log(n)
是最高的(上限)。因此,时间复杂度是渐进的n*log(n)
更新:
如果您为每个迭代计算
log(i)
,而不是将其存储在变量中,那么时间复杂度是O(n*log(n)2),假设计算日志(i)不是O(1)。如果是O(1),那么时间复杂度是O(n log(n))。O时间复杂度?是的O时间复杂度就大O注释而言,O(n*log(n))你认为呢?分享你的想法!这取决于log(i)
-调用的成本有多高。“假设计算log(i)不是O(1)”“log(i)的时间复杂度会使术语log(n)^2?O(log n)?@0x499602D2是的,但不确定。因此,我说假设。
void yash(){
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=log(i);j++)
printf("Hello !!");
}