Bubblesort超过其他排序算法?

Nee*_*eel 11 sorting algorithm bubble-sort

为什么你会选择冒泡排序而不是其他排序算法?

tem*_*def 19

你不会.

杜克大学的Owen Astrachan曾写过一篇追踪泡沫排序历史的研究报告并引用CS传奇人物Don Knuth的话说

简而言之,除了一个吸引人的名字以及它导致一些有趣的理论问题之外,泡沫排序似乎没有什么值得推荐的.

本文最后总结

在本文中,我们已经调查了泡沫分类的起源及其持久的受欢迎程度,尽管许多专家都在使用它.我们通过分析编码和运行时的复杂性来确认警告.

冒泡排序比其他O(n 2)排序慢; 它大约是插入排序的四倍,慢于选择排序的两倍.它确实具有良好的最佳案例行为,但几乎所有实际数据集都不切实际.quicksort,heapsort或mergesort的任何良好实现都可能大幅超越它.

此外,美国总统说你不应该使用它.


Alb*_*nbo 8

满足以下所有条件时

  • 实现速度比执行速度更重要(概率<1%)
  • 冒泡排序是你从大学课程中记住的唯一排序算法(概率99%)
  • 你手边没有排序库(概率<1%)
  • 您无权访问Google(概率<1%)

那么你需要实现冒泡排序的可能性小于0,000099%,不到百万分之一.


Jer*_*fin 8

有一种情况下,冒泡排序是最佳的,但它只能用古老的硬件才能真正发生(基本上,就像有两个磁头的鼓存储器,你只能按顺序读取数据,只能处理两个数据)鼓上直接相邻的物品).

除此之外,它完全没用,IMO.至少在我看来,即使是快速获取和运行的借口也是无稽之谈.选择排序或插入排序更容易编写和/或理解.


Ted*_*opp 8

如果您需要创建一个显示冒泡排序动画的网页,您可以实施冒泡排序.


aaz*_*aaz 5

如果您的数据位于快速向前读取的磁带上,向后搜索速度慢,并且快速倒回(或者是循环以便不需要倒带),那么bubblesort将表现得非常好.