使用Pivot作为数组中的最后一个元素进行QuickSort分析

时间:2018-05-21 12:35:53

标签: java arrays big-o quicksort

我想知道当你使用QuickSort时这个数组的Big-O是什么:

6 8 7 5 9 4

4是我的Pivot元素。

我认为这将是具有O(nlogn)复杂度的Best-Case,但我不是百分百肯定。

1 个答案:

答案 0 :(得分:1)

快速排序的Big-O复杂性是二次的(O(n^2))。这意味着对于每个可能的输入,它将至少快速执行(或者如果你愿意的话,慢速执行)。

正如评论中所提到的,Big-O处理的是理论上的最坏情况,而不是特定的输入。对于特定输入,您可以计算绝对步数。

顺便说一下,快速排序(是吗?)非常受欢迎,不是为了获得良好的Big-O性能,而是为了在中等输入大小上获得良好的通常情况性能 - 而有些算法在{ {1}}(这也是理论上的限制 - 不能做得更好),它们在实际使用中往往较慢,因为它们具有更大的常量(即渐近更好的性能只表现在大量投入上。)