快速排序和合并排序是否有特别好的输入?

时间:2014-06-16 05:04:56

标签: algorithm sorting quicksort mergesort

我对这些问题进行了测试,老师告诉我,我的一切都错了。我试着跟他说理,但他说我错了。

有人可以告诉我他们有什么问题吗?

  1. 是否有特别好的输入(会产生低复杂性) Quicksort?(输入可以订购,反向排序,随机等等)

    通过快速排序可以实现的最低复杂度与O(n log n)的平均情况相同。最好的情况是分区每次都会生成两个大小相等的子文件。

    示例:平均情况&最佳案例= C(n) = 2C(n/2) + an。解决后,这会产生复杂度C(n) = n lg n + an,相当于O(n log n)

  2. Mergesort的输入是否特别好?

    由于Merge Sort的复杂性始终为O(n log n)并且没有任何输入能够胜过这一点,因此Merge Sort没有任何特别好的输入。

    示例:C(n) = 2C(n/2) + an - 解决后,会产生C(n) = n lg n + an的复杂性,相当于O(n log n)

0 个答案:

没有答案