Algorithm 比较冒泡、选择和插入排序效率

Algorithm 比较冒泡、选择和插入排序效率,algorithm,sorting,bubble-sort,insertion-sort,selection-sort,Algorithm,Sorting,Bubble Sort,Insertion Sort,Selection Sort,我有以下的理解- 冒泡排序和插入排序都具有时间复杂性 最佳:Ω(n) 平均值:Θ(n^2) 最差:O(n^2) 而选择排序具有所有时间复杂性(最佳、平均和最差):(n^2) 接下来,根据我通常听到的关于这些算法的内容,我提出了一些问题- 冒泡排序被认为是最有效的算法。为什么会这样?(因为我知道,根据Ω,气泡排序比选择好得多。) 插入排序被认为是对冒泡排序和选择排序的改进。为什么会这样?(再说一次,虽然我知道复杂度比选择排序好,但它也与冒泡排序完全相同) 据我所知,冒泡排序在效率方面是最差的,

我有以下的理解- 冒泡排序和插入排序都具有时间复杂性

  • 最佳:Ω(n)
  • 平均值:Θ(n^2)
  • 最差:O(n^2)
而选择排序具有所有时间复杂性(最佳、平均和最差):(n^2)

接下来,根据我通常听到的关于这些算法的内容,我提出了一些问题-

冒泡排序被认为是最有效的算法。为什么会这样?(因为我知道,根据Ω,气泡排序比选择好得多。)
  • 插入排序被认为是对冒泡排序和选择排序的改进。为什么会这样?(再说一次,虽然我知道复杂度比选择排序好,但它也与冒泡排序完全相同)

  • 据我所知,冒泡排序在效率方面是最差的,尤其是当您有反向排序列表或大型列表时。冒泡排序的最佳情况是几乎整个列表都已排序。您必须检查案例中每个算法的复杂性,以确定哪一个算法是最好的。

    1。最佳情况复杂性是一个毫无意义的指标。你对一般情况和最坏情况感兴趣。2.Big-O复杂性并不是万能的,常量因素很重要。我在你上一个主题中提供了有关插入/气泡比较的信息,这是我的goto参考。我不支持这一点,但我认为气泡排序效率最低,因为与选择排序相比,它有更多的交换。您好,我调查了这件事,发现了。你可能想看看。祝你好运~