首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QuickSort算法分析

QuickSort算法分析
EN

Stack Overflow用户
提问于 2013-02-21 23:53:58
回答 1查看 358关注 0票数 1

我正在听麻省理工学院关于YouTube的关于快速排序的讲座。我得到了大部分的想法,但我在以下几点上被他所说的算术级数卡住了:

最坏情况: T(n) = T(n-1) + Theta(n)

他问道:“这等于什么?”

然后他说它等于Theta(n^2)

为什么它等于Theta(n^2)而不等于Theta(n)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-21 23:55:06

这是一个位于Theta(n^2)中的sum of arithmetic progression T(n) = T(n-1) + n = n + n-1 + n-2 + ... + 1 = n(n+1)/2

您也可以通过归纳获得它,假设Theta(n)代表n (为了简单起见,可以使用相同的方法进行修改):

代码语言:javascript
复制
Hypothesis: T(n) = n(n+1)/2
Base: T(1) = 1*2/2 = 1
Step: 
T(n) = T(n-1) + n <= (*) (n-1)*n/2 + n = 
     = (n^2 -n)/2 + 2n/2 = (n^2-n + 2n)/2 =
     =  (n^2 +n) /2 = n(n+1)/2
(*) induction hypothesis

这向我们展示了确实在Theta(n^2)中的T(n) = n(n+1)/2

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15006587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档