首页 新闻 搜索 专区 学院

快排递归公式中cN的含义?

0
悬赏园豆:10 [已解决问题] 解决于 2020-04-28 21:37

快排的递推公式如下:
T(n) = T(i)+T(n - i - 1) +cN
T(i)是中间元分隔开的一半递归公式,T(n - i - 1)是另外一半的
书上说的是cN是花费在分割上的线性时间,
那么c这个元素是什么?

dark_Souls的主页 dark_Souls | 初学一级 | 园豆:124
提问于:2020-04-28 16:42

百度一篇易于理解的快排文章就行了,没必要看这种所谓公式。

。淑女范erり 4个月前

@。淑女范erり: 看的书上的内容,还是以书上为主,网上博客水平层次不齐

dark_Souls 4个月前

@dark_Souls: 看了你的截图,cN就是N个数,分割花费的时间, c(N-1)就是N-1个数分割花费的时间,以此类推。
你说的有道理,写书比网络博客要严谨一点,但是也繁琐很多,我看你截图里,创造了不少名词和不通用的术语。。 我给你找个容易理解的图。。

。淑女范erり 4个月前

@。淑女范erり: 感觉你这开发十年了啊

dark_Souls 4个月前

@。淑女范erり: 没办法这是翻译版,它里面确实有很多东西不给解释,但是这书确实是好东西。

dark_Souls 4个月前

@dark_Souls: 赞同,好书的内容肯定比看网文好,深入很多。

。淑女范erり 4个月前

@。淑女范erり: 您做过WEB开发吗?能不能帮我看看我最新的提问?

dark_Souls 4个月前
< >
分享
最佳答案
0

我觉得这个图是解释快排里非常好的一个了。

我觉得理解完快排原理以后,再去看书里的递推公式,这个公式其实是为了算出时间复杂度。即总时间等于每次分片时间之和。
即T(N) = c(N) + c(N-1) + ....c(1),即最坏情况下的时间复杂度为 1 + 2 + ... + N 为 O(N^2)。

收获园豆:10
。淑女范erり | 小虾三级 |园豆:799 | 2020-04-28 20:43

明白了,类似函数表示划分中间值得时间。

dark_Souls | 园豆:124 (初学一级) | 2020-04-28 21:36
其他回答(1)
0

最好能多贴上来一点,看看上下文

会长 | 园豆:9047 (大侠五级) | 2020-04-28 17:40

支持(0) 反对(0) dark_Souls | 园豆:124 (初学一级) | 2020-04-28 18:08

这个书很好,但是就是有些东西没得说明,后面写的都明白就是不知道这个c是从哪里跑出来的。

支持(0) 反对(0) dark_Souls | 园豆:124 (初学一级) | 2020-04-28 18:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册