我冒着在得到答案之前关闭这个问题的风险,但我真的很想知道答案。就这样吧。
我目前正在尝试学习算法,我开始理解它本身但无法与之相关。
我了解时间复杂度 和空间复杂度。我也理解一些基于伪代码的排序算法
排序算法如
- 冒泡排序
- 插入排序
- 选择排序
- 快速排序
- 合并排序
- Heapsort(一些)
我也知道Best Case 和Worst Case 场景(一般情况没那么多)。
一些网上相关的引用资料
- Nice place它以图形方式显示了上述所有内容。
- This也让我有了很好的理解。
但我的问题是 - 有人可以给我真实世界的例子这些排序算法是在哪里实现的吗。
最佳答案
随着元素数量的增加,您将使用更复杂的排序算法。后来的排序技术具有更高的初始开销,因此您需要对大量元素进行排序以证明该成本是合理的。如果您只有 10 个元素,冒泡排序或插入排序将比合并排序或堆排序快得多。
对于较小的嵌入式设备(例如电视 Remote 或手机)来说,空间复杂度是一个重要的考虑因素。您没有足够的空间在这些设备上执行诸如堆排序之类的操作。
数据库使用外部合并排序对太大而无法完全加载到内存中的数据集进行排序。这种排序的驱动因素是磁盘 I/O 数量的减少。
Good bubble sort discussion ,还有许多其他因素需要考虑,这些因素会影响时间和空间的复杂性。
关于algorithm - 决定哪种排序算法最有效的真实世界示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11022756/