算法复杂度的快慢

我们都知道算法复杂度通常是用输入数据的规模来衡量的。例如对于快速排序,当对N个数进行排序时,其算法复杂度为O(N*Log(N))。通常当我们看到O(2^N),O(N^2)以及O(N*Log(N))时,很自然的知道O(2^N) >> O(N^2) >> O(N*Log(N))。但他们的执行快慢区别有多大呢?下面我们一起看看下下面的表:

近似的比较各算法复杂度的执行时间, N = 100

O(Log(N)) 10-7 seconds
O(N) 10-6 seconds
O(N*Log(N)) 10-5 seconds
O(N2) 10-4 seconds
O(N6) 3 minutes
O(2N) 1014 years.
O(N!) 10142 years.

 

原文地址:http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=importance_of_algorithms

posted on 2012-04-30 11:09  奥古斯丁 D&C  阅读(277)  评论(0编辑  收藏  举报

导航