189 8069 5689

举例说明时间复杂度与空间复杂度-创新互联

什么是时间复杂度与空间复杂度?相信很多人对时间复杂度与空间复杂度的了解处于懵懂状态,小编给大家总结了以下内容。如下资料是关于复杂度与空间复杂度的内容。

成都创新互联专注于企业成都全网营销、网站重做改版、克山网站定制设计、自适应品牌网站建设、H5网站设计成都做商城网站、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为克山等各大城市提供网站开发制作服务。

操作次数。ps:这里的函数是指,而不是C语法里的函数。

   如下面这个代码:

void

{

          {

                   {

                   }

          }

          {

          }

          {

          }

}

举例说明时间复杂度与空间复杂度

所以这段代码的时间复杂度是: F(N) = N^2 + 2N + 10,这个时间计算的就是时间复杂度。

一般关注的是算法运行的最坏情况。

void

{

          {

                   {

                   }

          }

          {

          }

          {

          }

}

void

{

          {

          }

          {

          }

}

void

{

          {

                   {

                   }

          }

}

递归总次数*每次递归次数。

递归算法的空间复杂度,假如为N*每次递归的空间大小为1,则空间复杂度为O(N)。

 以斐波那契数列为例:

举例说明时间复杂度与空间复杂度举例说明时间复杂度与空间复杂度

空间复杂度是:O(N),既是深度。

       是:O(2^N).

这段代码有下面几个明显缺陷:

  所以我们需要对这段代码进行优化。请看下面:

:可以倒着计算,定义三个变量,如下所示:

long long Fib(size_t N )

{

            long long * Fibarray = new long long[ N + 1];

            Fibarray[0] = 0;

            Fibarray[1] = 1;

            for ( int i = 2; i <= N; ++i)

            {

                        Fibarray[i] = Fibarray[i - 1] + Fibarray[i - 2];

            }

            long long ret = Fibarray[ N];

            delete[] Fibarray;

            return ret;

}

时间复杂度为:O(N)。

空间复杂度为:O(N)。

方法二:用一个循环开辟一个数组。

long long Fib(size_t N )

{

            long long Fib[3] = { 0, 1, N };

            for ( int i = 2; i <= N; ++i)

            {

                        Fib[2] = Fib[1] + Fib[0];

                        Fib[0] = Fib[1];

                        Fib[1] = Fib[2];

            }

            return Fib[2];

}

时间复杂度是:O(N)。

    空间复杂度是:O(1),因为常数个对象。


看完上诉内容,你们对时间复杂度与空间复杂度大概了解了吗?如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:举例说明时间复杂度与空间复杂度-创新互联
地址分享:http://cdxtjz.com/article/dosdhi.html

其他资讯