修改后的快速排序算法的时间复杂度是多少?

阿隆

我们使用常规的快速排序算法。选择的枢轴是中位数,但是要找到中位数,需要采用Theta(n^{2006/2005})最差情况。

为什么算法的最坏情况相等Theta(n^{2006/2005}) 而不同 Theta(n^{2006/2005} * logn)

什么

首先,你要明白,每个“迭代”不走N^2006/2005这里N是原始数组的大小,其实-因为这是一个超线性函数,发现在2两半阵列的中位数比在大发现它更容易大批。

为了正式证明这一点,我们将首先定义递归复杂度公式:(为简单起见,我们假设中位数取正值n^2006/2005,但是很容易修改的上限C*n^2006/2005。)

T(n) = n^2006/2005 + 2T(n/2)

现在,我们可以通过归纳证明来证明这一点

T(n) <= 2* n^2006/2005

对于足够小的值,此处的基本子句很重要n
假设每个k<n假设T(k) <= 2*(n/2)^2006/2005成立。

T(n) = n^2006/2005 + 2T(n/2) <= (i.h.) 
     <= n^2006/2005 + 2*(2*(n/2)^2006/2005) =
     = n^2006/2005 + 4 * (n/2)^2006/2005 =
     = (*) 2^(2004/2005) *n^(2006/2005) + n^(2006/2005)
     <= 2*n^(2006/2005)

(*)等式来自wolfram alpha,您也可以在公式上使用一些代数来得出它。


另请注意,这与排序是不矛盾的Omega(nlogn),因为n^(1+epsilon) > nlogn对于的每个epsilon>0值,对于足够大的值n

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

修改后的快速排序算法的时间复杂度是多少?

来自分类Dev

使用 IEnumerable 实现的快速排序的复杂度是多少?

来自分类Dev

如果split是5:n-5,那么快速排序的时间复杂度是多少?

来自分类Dev

给定算法的时间复杂度是多少?

来自分类Dev

解决数独的算法的时间复杂度是多少?

来自分类Dev

AngularJS的脏检查算法的时间复杂度是多少?

来自分类Dev

该算法的时间复杂度是多少?

来自分类Dev

以下算法的时间复杂度是多少?

来自分类Dev

爬山算法的时间复杂度是多少?

来自分类Dev

该算法的时间复杂度是多少?

来自分类Dev

该算法(伪代码)的时间复杂度是多少?

来自分类Dev

这个生成算法的时间复杂度是多少?

来自分类Dev

这个JS算法的时间复杂度是多少

来自分类Dev

这个算法的时间复杂度是多少?

来自分类Dev

素数算法的复杂度是多少?

来自分类Dev

代码的时间复杂度是多少?

来自分类Dev

分度的时间复杂度是多少?

来自分类Dev

大小的时间复杂度是多少?

来自分类Dev

代码的时间复杂度是多少?

来自分类Dev

使用堆排序对0和1数组进行排序的时间复杂度是多少?

来自分类Dev

Spark:GraphX中使用的连接组件算法的时间复杂度是多少?

来自分类Dev

查找所有唯一二叉搜索树的算法的时间复杂度是多少?

来自分类Dev

此回文式分割算法的时间复杂度是多少?

来自分类Dev

查找所有组合的算法的时间复杂度是多少?

来自分类Dev

查找所有路径和的算法的时间复杂度是多少?

来自分类Dev

生成所有可能的有效括号的算法的时间复杂度是多少?

来自分类Dev

此断词算法的时间复杂度是多少?(动态编程)

来自分类Dev

当极限在循环内变化时,该算法的时间复杂度是多少?

来自分类Dev

这种硬币找零算法的时间复杂度是多少?

Related 相关文章

  1. 1

    修改后的快速排序算法的时间复杂度是多少?

  2. 2

    使用 IEnumerable 实现的快速排序的复杂度是多少?

  3. 3

    如果split是5:n-5,那么快速排序的时间复杂度是多少?

  4. 4

    给定算法的时间复杂度是多少?

  5. 5

    解决数独的算法的时间复杂度是多少?

  6. 6

    AngularJS的脏检查算法的时间复杂度是多少?

  7. 7

    该算法的时间复杂度是多少?

  8. 8

    以下算法的时间复杂度是多少?

  9. 9

    爬山算法的时间复杂度是多少?

  10. 10

    该算法的时间复杂度是多少?

  11. 11

    该算法(伪代码)的时间复杂度是多少?

  12. 12

    这个生成算法的时间复杂度是多少?

  13. 13

    这个JS算法的时间复杂度是多少

  14. 14

    这个算法的时间复杂度是多少?

  15. 15

    素数算法的复杂度是多少?

  16. 16

    代码的时间复杂度是多少?

  17. 17

    分度的时间复杂度是多少?

  18. 18

    大小的时间复杂度是多少?

  19. 19

    代码的时间复杂度是多少?

  20. 20

    使用堆排序对0和1数组进行排序的时间复杂度是多少?

  21. 21

    Spark:GraphX中使用的连接组件算法的时间复杂度是多少?

  22. 22

    查找所有唯一二叉搜索树的算法的时间复杂度是多少?

  23. 23

    此回文式分割算法的时间复杂度是多少?

  24. 24

    查找所有组合的算法的时间复杂度是多少?

  25. 25

    查找所有路径和的算法的时间复杂度是多少?

  26. 26

    生成所有可能的有效括号的算法的时间复杂度是多少?

  27. 27

    此断词算法的时间复杂度是多少?(动态编程)

  28. 28

    当极限在循环内变化时,该算法的时间复杂度是多少?

  29. 29

    这种硬币找零算法的时间复杂度是多少?

热门标签

归档