冒泡排序在现实世界中有什么用途吗?每次我看到提到的,它总是:
- 一种可供学习的排序算法。
- 排序算法的示例not to use.
冒泡排序(已证明)是在以下情况下可用的最快排序very具体情况。它最初之所以广为人知,主要是因为它是第一个经过严格分析的算法(任何类型),并且证明它在有限的情况下是最优的。
考虑存储在磁带驱动器上的文件,以及如此小的随机存取存储器(或如此大的密钥),您只能加载two在任何给定时间记录到内存中。倒带磁带的速度非常慢,因此在文件中进行随机访问通常是不切实际的 - 如果可能,您希望按顺序处理记录,一次不超过两个。
当磁带驱动器很常见,并且只有几千(字|字节)RAM(无论何种类型)的机器也很常见时,这是足够现实的,值得研究。这种情况现在很少见,因此研究冒泡排序根本没有任何意义 - 但更糟糕的是,无论如何都没有教授最佳情况,所以即使当/如果出现正确的情况,几乎没有人会这样做realize it.
就极小和/或接近排序的数据集而言速度最快,虽然这可以掩盖冒泡排序的弱点(至少在某种程度上),但插入排序本质上总是对以下任一/两者都更好那些。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)