【问题标题】:Comparing bubble, selection and insertion sort efficiency比较冒泡、选择和插入排序效率
【发布时间】:2019-05-10 05:22:47
【问题描述】:

我有以下理解—— 冒泡排序和插入排序都有时间复杂度

  • 最佳:Ω(n)
  • 平均:Θ(n^2)
  • 最差:O(n^2)

虽然选择排序具有所有时间复杂性(最佳、平均和更差):(n^2)

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

  1. 冒泡排序被认为是效率最低的算法/被认为与选择排序相当。为什么这样? (因为我知道,根据 Ω,冒泡排序比选择要好得多。)
  2. 插入排序被认为是对冒泡排序和选择排序的改进。为什么这么准确? (同样,虽然我理解时间复杂度 比选择排序好,但它也与冒泡排序完全相同)。

【问题讨论】:

  • 1.最佳案例复杂度是一个毫无意义的指标。您对平均情况和最坏情况感兴趣。 2. Big-O 复杂性不是一切,恒定因素很重要。
  • 我在您的上一个主题中提供了有关插入/气泡比较的信息
  • Big-O Cheat Sheet 是我的 goto 参考
  • 我不是这方面的专家,但我认为冒泡排序据说效率最低,因为与选择排序相比,它的交换次数更多。
  • 你好,我查了一下,找到this。你可能想读它。祝你好运~

标签: algorithm sorting bubble-sort insertion-sort selection-sort


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 2015-04-25
    • 2017-08-06
    • 2023-03-20
    • 2012-05-12
    • 2015-02-14
    相关资源
    最近更新 更多