以下是从我的教科书中分析不同乘法算法的时间复杂度的示例:
如果我们通过重复添加进行乘法运算:
4 * 7 = 7 + 7 + 7 + 7
时间复杂度为O(n * 10 ^ n),其中n为数字。
当n为数字时,我对分析时间复杂度感觉不太好。谁能解释一下为什么它是O(n * 10 ^ n)?
答案 0 :(得分:0)
数字 N 具有 O (log N )个数字,其中log表示十进制对数。因此,添加 N 本身需要 O (log N )步骤,并且执行 M 次需要< em> O ( M log N )步骤。对于 O ( N )中的 M ,您将获得 O ( N log N )步骤。该估计基于数字。如果您希望将数字 n 作为基数,则必须将 N 替换为10 ^ n ,这将提供 n ( n 10 ^ n )。