函数的渐近增长率
增长率的概念使得我们集中关注算法在规模较大的时候的性能表现,它关注的不是代价函数的具体的值,而是代价函数的值随着规模增长的速度,因而不管开始的优劣如何,增长率较快的函数在面对大规模输入的时候会变得更大。
渐近的概念帮我们处理了不同算法对于“大规模”的含义有不同解读的问题,它关注的是问题规模趋于无穷是算法的代价的变化规模
我们引入3组共5个符号来描述函数的渐近增长率之间的关系,它们是 和、和、。首先使用极限语言的定义,在此基础上给出了基于求极限的判别方法。这里假设的极限存在。
和
和的定义是基础,首先给这两个记号的定义:
不严格地说,描述的是当问题规模充分大的时候,函数的增长率不会超过的增长率。相比而言虽同样表示函数的增长率不会超过,但是它的要求更强。
强调这两个函数在增长率方面有一种“实质性的差距”:总可以通过增加问题规模n,使得函数之间的有任意大的差距。
和
描述的问题规模的增大,函数的增长率不会低于的增长率
另外我们可以定义来表示和 的增长率处于“同一水平”。
整理自书籍《算法设计与分析》(黄宇)