Algorithm 求模算法的大O

Algorithm 求模算法的大O,algorithm,big-o,Algorithm,Big O,当n=30时 ij 00 10 20 31 40 50 61 70 80 92 100 ( 10, 0) 请注意,序列中从1到n的每三分之一数字都可以被3整除。在最坏的情况下,在k循环log_3i次中,这样的数字最终将被3除。因此,序列在三分之二的时间内表现为,在三分之一的时间内表现为*log3n。因此,我们可以声称您的代码的上界是On*log3n,尽管有一个上界比这个更紧 代码将打印序列中的每个值i以及该数字的三个深度。我所说的三个深度是指我们能用I除以3的次数。显然,对于不是3的倍数的i值

当n=30时

ij
00
10
20
31
40
50
61
70
80
92
100 ( 10, 0)

请注意,序列中从1到n的每三分之一数字都可以被3整除。在最坏的情况下,在k循环log_3i次中,这样的数字最终将被3除。因此,序列在三分之二的时间内表现为,在三分之一的时间内表现为*log3n。因此,我们可以声称您的代码的上界是On*log3n,尽管有一个上界比这个更紧


代码将打印序列中的每个值i以及该数字的三个深度。我所说的三个深度是指我们能用I除以3的次数。显然,对于不是3的倍数的i值,深度为0。

了解序列中从1到n的每三分之一数字将被3整除。在最坏的情况下,在k循环log_3i次中,这样的数字最终将被3除。因此,序列在三分之二的时间内表现为,在三分之一的时间内表现为*log3n。因此,我们可以声称您的代码的上界是On*log3n,尽管有一个上界比这个更紧


代码将打印序列中的每个值i以及该数字的三个深度。我所说的三个深度是指我们能用I除以3的次数。显然,对于不是3的倍数的i值,深度是0。

虽然这是一个上界,但较紧的界的计算相对简单。对于分配给i的每个值,所需的内部循环迭代次数为1次,对于每3个值,需要的迭代次数为1次,对于每9个值,需要的迭代次数为1次。。。这是n乘以几何级数1+1/3+1/9+1/27。。。。这仅仅是1.5n,所以这应该是开的。虽然这是一个上界,但更紧的上界计算起来相对简单。对于分配给i的每个值,所需的内部循环迭代次数为1次,对于每3个值,需要的迭代次数为1次,对于每9个值,需要的迭代次数为1次。。。这是n乘以几何级数1+1/3+1/9+1/27。。。。这仅仅是1.5n,所以这将只是开着。
ij
00
10
20
31
40
50
61
70
80
92
100 ( 10, 0)
i j
1 0
2 0
3 1
4 0
5 0
6 1
7 0
8 0
9 2
10 0
11 0
12 1
13 0
14 0
15 1
16 0
17 0
18 2
19 0
20 0
21 1
22 0
23 0
24 1
25 0
26 0
27 3
28 0
29 0
30 1