您的位置:首页 > 理论基础 > 数据结构算法

数据结构与算法2——时间复杂度和空间复杂度

2018-03-17 22:34 591 查看
算法效率的度量方法:事后统计的方法、事前分析估算方法。
算法的时间复杂度:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度记作:T(n)=O(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的 增长率 相同,称作算法的渐进时间复杂度,简称为时间复杂度。随着输入规模n的增大,T(n)增长最慢的算法是最优的算法。
推导大O阶的方法:1.用常数1取代运行时间中的所有加法常数;2.在修改后的运行次数函数中,只保留最高阶;3.如果最高阶项存在且不是1,则去除与这个项相乘的常数。(考虑数列)
线性阶:一般含有非嵌套循环涉及线性阶,线性阶就是随着问题规模n的扩大,对应计算次数呈直线增长。
平方阶:2个循环嵌套在一起。
对数阶:
函数调用的时间复杂度分析
算法的空间复杂度:计算算法所需要的存储空间,S(n)=O(F(n))。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: