【问题标题】:Complexities of the following -insertion sort, selection sort ,merge sort , radix sort and explain which one is best sorting algorithm and why?以下 - 插入排序,选择排序,合并排序,基数排序的复杂性并解释哪一个是最好的排序算法,为什么?
【发布时间】:2016-01-10 12:20:24
【问题描述】:

以下的复杂性 - 插入排序、选择排序、合并排序、基数排序并解释哪一种是最好的排序算法,为什么?

【问题讨论】:

    标签: array-algorithms


    【解决方案1】:

    我不相信“最佳”排序算法。这取决于你想做什么。例如,冒泡排序真的很容易实现,如果您只是想要一种快速而肮脏的方式来对短数组进行排序,那将是最好的。另一方面,对于较大的数组,时间复杂度将真正发挥作用,您会注意到相当大的运行时差异。如果你真的很看重内存,那么你可能想要评估它们的空间复杂度。

    所以排序答案是:恕我直言,没有最好的排序算法。我将留下下表供您自己评估您要使用的内容。

    排序算法平均时间复杂度空间复杂度
    快速排序      O(nlog(n ))      O(log(n))      
    合并排序      O(nlog(n))      O( n)      
    插入排序      O(n^2)      O(1)      
    选择排序       kbd>O(n^2)      O(1)      
    基数排序      O(nk)      O(n+k)      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-01
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 1970-01-01
      • 2021-09-27
      相关资源
      最近更新 更多