【发布时间】:2012-08-15 04:08:13
【问题描述】:
我最近阅读了有关时间复杂度的文章,发现快速排序的平均时间复杂度为 O(nlog(n))。
问题 1:我不明白的是,log(n) 是如何出现在时间复杂度方程中的?
问题 2:为什么我们总是使用 big O 符号来计算算法的时间复杂度?我们为什么不使用其他符号?
【问题讨论】:
-
1:不代表时间,只是将算法分类为函数:wolframalpha.com/input/?i=log2%28n%292:见(1)
-
@Flavius 你能解释一下算法的分类吗?
-
这里不适合这类问题。参加计算机科学课程,或在线观看:aduni.org/courses
-
“为什么我们总是使用大 O 符号来计算算法的时间复杂度?”...“我们”不这样做。
-
注意@paddy 的评论:它是“2 倍”和“一半”,因为当计算机科学家说
log时,他们真正的意思是log_2。
标签: java c++ algorithm time-complexity quicksort