社区
数据结构与算法
帖子详情
快速排序
sunner008
2010-06-13 08:20:45
T(0)=0,T(n)=(n-1)+T(⌊(n+1)/2⌋)+T(⌈(n-1)/2⌉),n>=1
这个快速排序的渐进式怎么导出O(nlogn)呢?
...全文
63
5
打赏
收藏
快速排序
T(0)=0,T(n)=(n-1)+T(⌊(n+1)/2⌋)+T(⌈(n-1)/2⌉),n>=1 这个快速排序的渐进式怎么导出O(nlogn)呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunner008
2010-06-13
打赏
举报
回复
[Quote=引用 3 楼 michael122 的回复:]
没有区别啊
渐进意义上都是一样的
nlog(n+1)=O(nlogn)
[/Quote]
哦,原来如此太谢谢您了,又向您学习到了。
michael122
2010-06-13
打赏
举报
回复
没有区别啊
渐进意义上都是一样的
nlog(n+1)=O(nlogn)
sunner008
2010-06-13
打赏
举报
回复
[Quote=引用 1 楼 michael122 的回复:]
算法导论中主定理的应用,证明如下:
可以写成 T(n)<=2*T(n/2)+c*n c是一个常数
则 T(n)<=2*T(n/2)+cn
<=2*(2T(n/4)+c*n/2)+cn
=4T(n/4)+2cn
<=8T(n/8)+3cn
....
<=2^k * T(n/(2^k))+k*cn
这样一直到k=logn时,上式=n*T(1)+c*nlogn=O(n……
[/Quote]
但是这个是n的情况能证明出来,我那个是n-1的情况按这种方法我证明出来的是nlog(n+1)这肯定是不对,不知请求高手可否在n-1的情况下帮我证明呢?
michael122
2010-06-13
打赏
举报
回复
算法导论中主定理的应用,证明如下:
可以写成 T(n)<=2*T(n/2)+c*n c是一个常数
则 T(n)<=2*T(n/2)+cn
<=2*(2T(n/4)+c*n/2)+cn
=4T(n/4)+2cn
<=8T(n/8)+3cn
....
<=2^k * T(n/(2^k))+k*cn
这样一直到k=logn时,上式=n*T(1)+c*nlogn=O(nlogn)
当然,如果知道结果的话也可以用数学归纳法证明,一样很简单
MoreWindows白话经典算法之七大排序(高清版)
这是本人在研一上课时所整理的文档,包括冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,
快速排序
和堆排序这七种常用的排序方法,这些文章不仅使我在考试中取了不错的成绩,也为后来顺利面过迅雷,腾讯...
MoreWindows白话经典算法之七大排序第2版(高清)
在第一版的基础上新加了对冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,
快速排序
和堆排序这七种常用的排序方法的总结篇,方便大家复习,合适作为笔试面试前的复习资料。
算法入门教程——排序
循序渐进的介绍排序的相关知识。结合例题帮助同学们更好地理解
快速排序
、堆排序的相关知识。
用C语言实现
快速排序
算法
一、
快速排序
算法(Quicksort) 1. 定义
快速排序
由C. A. R. Hoare在1962年提出。
快速排序
是对冒泡排序的一种改进,采用了一种分治的策略。 2. 基本思想 通过一趟排序将要排序的数据分割成独立的两部分,其中...
排序——
快速排序
(Quick sort)
快速排序
(Quick sort)是对冒泡排序的一种改进。
快速排序
由C. A. R. Hoare在1960年提出。 算法思路 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再...
数据结构与算法
33,007
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章