【发布时间】:2016-10-23 15:35:07
【问题描述】:
最近我正在研究 C# 中基本排序算法的时序分析 Following this Book。 在第 55 页上,作者概括地提到了这一点。
选择排序是最有效的算法,其次是 冒泡排序和插入排序
但实际上,在最佳、正常和最坏情况下,选择排序比插入和冒泡排序花费更多时间。 即使this online algorithm visualisation 显示选择排序需要更多时间。
我的问题是,与插入和冒泡排序相比,选择排序的效率如何?
【问题讨论】:
-
在什么方面效率最高?可以通过时间、复杂性和内存使用来比较算法。您通常需要用一个换另一个。
-
@ScottChamberlain 作者提到了时间复杂度。
-
在现实生活中,它取决于读写和比较的相对成本。这三个的时间复杂度都是二次的。
-
@Steve 我已经检查过了,但对书中提到的陈述感到困惑。