大哦对数复杂度计算

  • 本文关键字:复杂度 计算 algorithm
  • 更新时间 :
  • 英文 :


所以我一直在尝试处理Big Oh计算。我觉得我已经掌握了基础知识,但似乎很容易计算。因此,如果下面的计算有一个很大的 O(n log n)(我真的希望我至少做对了),那么更改循环的顺序对复杂性有什么影响?提前非常感谢您的时间。

    int ONLogN(int N) //O(n log n)
    {
        int iIterations = 0;
        for (int i = 0; i < N; ++i)
        {
            ++iIterations;
            for (int j = 1; j < N + 1; j *= 2)
                ++iIterations;
        }
        return iIterations;
    }
    int WhatBigOhIsThis(int N) //???
    {
        int iIterations = 0;
        for (int j = 1; j < N + 1; j *= 2)
        {
            ++iIterations;
            for (int i = 0; i < N; ++i)                
                ++iIterations;
        }
        return iIterations;
    }

两个循环上的索引变量是独立的,因此由此产生的复杂性必然相同。

您仍在循环进行相同次数的迭代。更改循环顺序不会影响复杂性

最新更新