《计算机算法设计与分析》第一章:算法概述

算法时间复杂度的出现主要是因为在不同环境下运行的程序的时间是受环境影响的,时间复杂度就可以在不考虑环境因素的影响下计算一个程序的时间效率。

第一章 算法概述

        1.1 算法复杂性分析

                公共标准:渐进时间复杂度

                (1)大O表示法:

                        

                        例如:

                                

                        大O表示法和前面的最坏时间复杂度的区别在于:大O表示法表示的更为简洁,

                        而最坏时间复杂度相对就比较繁琐,虽然繁琐但是准确。

                        练习:

                                

                        

                        运算法则:

                                

                                O(f) * O(g) = O(f*g) 适用的情况比如:循环嵌套

                                O(f) + O(g) = O(f + g) 适用的情况是: 一个程序中有多个模块,每个模块

                                算法的时间复杂度的阶都是一样的。

                                

                (2)大 ' 欧米伽 ' 表示法

                        

                        近似法比较原则:

                                

                        习题例子:

                                

                                

                               

                                记住一点就是复杂性乘以速度就是问题规模

                                 

        1.2 NP完全理论

                (1)

                        

                (2)根据时间复杂度解决问题的分类:

                        

                        

                1.3 补充

                                logn的具体实例比如整除:

                                一般循环迭代规模折半的情况就会出现logn

                              

                1.4 如何简单快速的判断一个算法的时间复杂度

                        

                1.5 空间复杂度(时间比空间重要,‘空间换时间’)

                                

                

                

                 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值