Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 嵌套循环的T(n)_C++_Algorithm_Math_Time Complexity_Big O - Fatal编程技术网

C++ 嵌套循环的T(n)

C++ 嵌套循环的T(n),c++,algorithm,math,time-complexity,big-o,C++,Algorithm,Math,Time Complexity,Big O,有人能帮我找到T(n)吗?对于以下循环,内部循环作为n的函数运行的次数: for (int i = 0; i < n; i++) for (int j = i; j > 0; j /= 2) cout << j << endl; 我已经尝试使用对数乘积规则来简化它 T(n)=log_2((n-1)!2^2)) 但这并不满足方程式 *为了解释我所说的T(n)T(n),我想你指的是一个函数,用于计算输入大小n的“基本操作”的数量。首先

有人能帮我找到T(n)吗?对于以下循环,内部循环作为n的函数运行的次数:

for (int i = 0; i < n; i++)
    for (int j = i; j > 0; j /= 2)
        cout << j << endl;
我已经尝试使用对数乘积规则来简化它

T(n)=log_2((n-1)!2^2)) 
但这并不满足方程式


*为了解释我所说的
T(n)
T(n)
,我想你指的是一个函数,用于计算输入大小
n
的“基本操作”的数量。首先,你必须选择一个“基本操作”。在这种情况下,
cout“T(n)”是什么意思?这不是像Big-O表示法那样的标准术语。您是否正在尝试查找循环运行的确切次数?最坏的情况?T(n)对我来说也没什么意义,所以请解释一下。假设你知道什么是
T(n)
。如果
n
增加1,您还需要做多少工作?嗯,你必须再做一次内循环。通过每次减半,内部循环从
i
(大致为
n
)变为0。所以你得到类似于
T(n)=T(n-1)+log_2(n)
T(n)=log_2((n-1)!2^2)) 
for (int i = 0; i < n; i++)
    cout << i << endl;
for (int i = n; i > 0; i--)
    cout << i << endl;
for (int i = n; i > 0; i /= 2)
    cout << i << endl;
for (int i = 0; i < n; i *= 2)
    cout << i << endl;
for (int i = 0; i < n/2; i++)
    cout << i << endl;
T(n) = sum(i=0, n, sum(j=i, n/2 - 1, 1))