algorithm - 为什么对于小的情况,插入排序比快速排序和冒泡排序快?

标签 algorithm time-complexity quicksort bubble-sort insertion-sort

我最近读了一篇文章,其中谈到了算法的计算复杂性。 作者提到“为什么插入排序在小情况下比快速排序和冒泡排序更快”。有人可以对此做出一些解释吗?

有人知道我上面提到的每种排序算法的实际复杂度吗?

最佳答案

考虑两个复杂度函数:

F(X) = X^2
G(X) = 4 * X * ln(X)

F(3) = 9
G(3) = 13

所以算法 F 赢得了 3 个项目。但是:

F(100) = 10,000
G(100) = 1,842

因此算法 G 在 100 个项目中获胜。

插入排序的复杂度类似于 F(X)。快速排序的复杂度类似于 G(X)。

关于algorithm - 为什么对于小的情况,插入排序比快速排序和冒泡排序快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7643377/

相关文章:

algorithm - Code Golf :生成帕斯卡三角形

php - 生成不同的组合 PHP

string - 扫描文本并检查其是否包含指定列表中的单词

algorithm - 自动将代码从一种表示形式转换为另一种表示形式?

c - 使用 qsort 对 2D 数组进行排序

algorithm - 复杂性理论-排序算法

theory - 并行性的限制(工作面试问题)

algorithm - 递归算法的复杂性

c++ - 为什么我的递归快速排序算法有这样不平衡的分区?

algorithm - 错误 : no matching function for call to 'swap'