初始时间复杂度和空间复杂度

时间复杂度:

       定义:

               时间复杂度其实不指一个程序运行的快慢(不同机器的性能不一样)所以不可

               比;

               时间复杂度是指一个算法运行次数;

       计算规则:

              1.只保留最高项(把N当无穷大,其他的倍数啥的都可以忽略)记作 O()

              2.若只有常熟项,则时间复杂度为O(1)

        技巧:面对稍微有一点复杂的程序,真正的高手在算时间复杂度时。是不会死磕

                 表面代码的,而是看代码的运行逻辑和运行过程

递归的时间复杂度:

        递归的时间复杂度其实就是子函数调用的次数

  

       1.关于二叉树的递归:

                                      遍历所有节点就是O(N);

                                      从树的深度入手就是O(logN)

       有关于时间复杂度常见的题目:8页

     

空间复杂度不重要:

       定义:

               空间复杂度不研究代码占用了多少byte位(太难算了没有意义)

               而是研究 变量的个数+动态内存开辟的空间

       特别的:

                           递归算法的空间复杂度:

                                                      递归的栈帧深度,因为递归函数要建立栈帧递归需   

                                                                       要消耗空间。

        几个空间复杂度的题目:10页

       注意:

     这种的复杂度就是O(1),他只使用了一个固定大小的变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值