1.代码时间复杂度

本文详细介绍了代码时间复杂度的计算,从数学基础如等差数列、等比数列、指数和对数出发,探讨了如何求精确时间并介绍了运行时间的基本思想。接着,讲解了常见代码类型的时间复杂度,如O(1)、O(n)、O(logN)等,并通过优化实战案例展示了如何将时间复杂度从O(n²)优化到O(nlogN)。最后强调了掌握时间复杂度需要大量实践,并推荐了力扣官网作为练习平台。
摘要由CSDN通过智能技术生成

         对于代码时间复制度的计算对于我其实一直都是“贝多芬”并没有真正掌握复杂度的计算。书写这篇博客的目的希望阅读本文后能清晰的知道自己代码的复杂度和一些优化技巧,并且希望读者将文章完善。

1.数学基础

        数学对于数据结构的重要性好比航母起飞战斗机的初速度,只有初速度起来了才能飞得更远,但是代码中使用到的数学难度并没有那么大,所以静心学习便可掌握。

   1.1等差数列  

 场景:比如确定到达边界值的次数

等差数列:

                    第n项:     a_{n} = a_{1} + (n -1)d

                  前n项和:   s_{n} =na_{1}+\frac{n(n-1)}{2}d=\frac{1}{2}n(a_{1}+a_{n})          n\epsilon N^{*}

 前n项和证明:

                       S_{n} =a _{1}+a _{2}+...+a _{n-1}+a _{n}

                      S_{n} =a _{n}+a _{n-1}+...+a _{2}+a _{1}

            两式相加得:

                        2S_{n} =\left (a _{1}+ a _{n} \right )+\left (a _{2}+ a _{n-1} \right )+....+\left (a _{n}+ a _{1} \right )

            所以  2S_{n} =n(a _{n}+a _{n-1})       S_{n} =\frac{n(a _{n}+a _{n-1})}{2}

   1.2等比数列

等比数列:

               第n项:     a_{n} = a_{1} q^{n-1}

           前n项和:      s_{n} =a_{1}\frac{1-q^{n}}{1-q}=\frac{a_{1}-a_{n}q}{1-q}

 前n项和证明:     

                                  S_{n} =a _{1}+a _{2}+...+a _{n-1}+a _{n}

                                  

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值