快速排序的时间复杂性分析
2016-03-03 12:53
246 查看
快速排序的基本思想是:每次从无序的序列中找出一个数作为中间点(可以把第一个数作为中间点),然后把小于中间点的数放在中间点的左边,把大于中间点的数放在中间点的右边;对以上过程重复log(n)次得到有序的序列。
快速排序的时间复杂性分析:排序的大体如下图所示,假设有1到8代表要排序的数,快速排序会递归log(8)=3次,每次对n个数进行一次处理,所以他的时间复杂度为n*log(n)。所以排序问题的时间复杂度可以认为是对排序数据的总的操作次数。
快速排序的时间复杂性分析:排序的大体如下图所示,假设有1到8代表要排序的数,快速排序会递归log(8)=3次,每次对n个数进行一次处理,所以他的时间复杂度为n*log(n)。所以排序问题的时间复杂度可以认为是对排序数据的总的操作次数。
相关文章推荐
- 永远不要在循环之外调用wait方法
- 集合排序的方法
- 2016.3.3-一个开始
- uva10626(记忆化搜索)
- 深入浅出:Linux设备驱动之字符设备驱动
- 如何取消eclipse对文档注释和多行注释的格式化
- 解决nginx负载均衡的session共享问题
- NSArray的常见方法
- 1-5 应用程序举例
- Error: file not found: arch/arm/boot/compressed/piggy.lzo
- iOS之@selector的函数传递多个参数
- Linux下OpenSSL 安装图文详解
- HDOJ 1150 Machine Schedule (二分图最小点覆盖)
- 全球机器学习ML、机器视觉CV、 图像处理PP领域的学习站点
- virtualbox中ubuntu和windows共享文件夹设置
- ajaxSubmit中option的参数
- UVA - 714 Copying Books 抄书 贪心+二分
- 欧氏距离
- SQL Server 中字符串中包含字符串变量的表示方法
- 政府採购电子办公系统总结-思路篇