算法性能分析概念
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
算法性能描述 1.时间复杂度 2.空间复杂度 时间复杂度: 用一个算法需要的基本操作数量来描述该算法的性能 基本操作数通常被描述为问题规模的函数。 基本操作: 一些基础的操作,如运算符操作:i = 5, i*3, 或者排序算法中的交换swap(a,b),都可看作基本操作。 基本操作的函数:T(n) n是问题规模,T(n)是基本操作数的函数。 有名的渐近分析:令输入规模无限大,站在极限的角度看算法。 思想:当n趋于无穷时,用另一个常用函数来描述目标函数的行为。 (用于描述目标函数的简单函数,通常是我们常用的函数。) 原则: 1.大规模,渐近分析(小规模的问题即使算法不怎么样也能很快执行) 2.不关心常数因子和低阶项 3.最坏情况,平均情况,(最好情况则不重要)。 渐近分析点: 1.有名的渐近分析 2.渐进分析标记法 3.常用渐近时间复杂度 多项式,对数,指数,阶乘 算法的渐近分析来源于数学渐近分析: 数学的渐进分析常用标记5种: 大O标记:渐近上界 <= (2个函数数量级关系) omega标记:渐近下界 <= (2个函数数量级关系) theta标记:渐近紧确界 = (2个函数数量级关系) 小o标记:非渐近紧确上界 < (2个函数数量级关系) w标记:非渐近紧确下界 > (2个函数数量级关系) 算法分析中:我们关注的是算法的渐近上界和紧确界,常用大O标记和theta标记。