Algorithm 给定时间复杂度的写算法

Algorithm 给定时间复杂度的写算法,algorithm,time-complexity,Algorithm,Time Complexity,我正在准备我的算法和数据结构考试,我遇到了一个我无法解决的练习 这个练习说明我必须编写一个时间复杂度O(m*n*log(n^3))的算法。有人能给我解释一下这个算法是什么样子的,以及如何处理像这样的任务吗?对于i=1到m for i = 1 to m for j = 1 to n k = 1 while k < n ^ 3 k = k * 2 end end end 对于j=1到n k=1 而k

我正在准备我的算法和数据结构考试,我遇到了一个我无法解决的练习

这个练习说明我必须编写一个时间复杂度O(m*n*log(n^3))的算法。有人能给我解释一下这个算法是什么样子的,以及如何处理像这样的任务吗?

对于i=1到m
for i = 1 to m
    for j = 1 to n
        k = 1
        while k < n ^ 3
            k = k * 2
        end
    end
end
对于j=1到n k=1 而k
提示:对循环使用嵌套的
,以达到给定的复杂度。我想出来了,但如何处理日志(n^3)?跳出框框思考,让调用方发送“m”和“n”作为算法的输入,然后精确地打印数字0 m*n*log(n^3)次。(假设您可以在小于所需复杂度的情况下计算该公式,则该算法肯定具有该时间复杂度)。空算法在
O(1)
中运行,因此满足要求。
O(n)
中的任何内容,如单个循环,也符合要求。这是一个技巧性的问题,还是它在某处说,
O(m*n*lg(n^3))
必须是一个紧界(或者使用大θ而不是大Oh)?计算m*n*log(n),然后计数。这是一个愚蠢的练习。据我所知,您在理解如何使用运行时
O(logn)
进行循环时遇到了困难。请阅读对数函数的定义。那就清楚了。