码迷,mamicode.com
首页 > 编程语言 > 详细

算法中的增长率(Rate of Growth)是什么意思?

时间:2015-07-30 16:47:23      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

一个函数或算法的代码块花费的时间随输入增长的速率称为增长率。

假设你去买一辆小车和一辆自行车。如果你朋友刚好看到,问你在买什么,我们一般都会说:买小车。因为买小车比买自行车花费高多了。

【总花费=小车的花费+自行车的花费】

【总花费≈小车的花费(近似)】

对于上面的例子,我们用一个函数来表示买车的花费,这个函数忽略低阶指数的项(相对于高阶项,他们的对函数结果的影响很小)。下面这个例子中n4 , 2n2, 100n, 和 500 分别是某个函数对应不同输入的花费,可以把它近似到n4,因为它的增长率最高。

【n4 + 2n2 + 100n + 500n ≈ n4

下面是一些我们在程序设计过程中经常会遇到的增长率:

Time Complexity Name Example
1 Constant Adding an element to the front of a linked list
log n Logarithmic Finding an element in a sorted array
n Linear Finding an element in a unsorted array
nlog n Linear Logarithmic Sorting n items by ‘Divide and Conquer’
n2 Quadratic Shortest path between 2 nodes in a graph
n3 Cubic Matrix Multiplication
2n Exponential The Towers of Hanoi problem

算法中的增长率(Rate of Growth)是什么意思?

标签:

原文地址:http://www.cnblogs.com/programnote/p/4689609.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!