码迷,mamicode.com
首页 > 编程语言 > 详细

排序的笔试题

时间:2015-08-13 12:01:59      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

1.一个从大到小的数组,按从小到大的顺序排序,哪种排序方法最快?(最坏情况)

(1)冒泡排序:1+2+...n-1=O(n^2);

(2)快速排序:每次partion都需要比较k-1次,才能将“第一个”数字移动到“末端”。需要进行n-1次partion才能完成排序。所以最坏情况下比较次数仍然是1+2+..+n-1=O(n^2)。

(3)插入排序:

(4)堆排序:

补充:平均情况下,这几种排序算法的比较:

(1)快速排序:平均时间复杂度为O(nlogn);最坏时间复杂度O(N^2);快速排序需要一个栈作辅助空间,用来实现递归处理左、右子文件,在最坏情况下,递归深度为n,所需栈的空间大小为O(n)数量级。

(2)冒泡排序:

排序的笔试题

标签:

原文地址:http://www.cnblogs.com/wy1290939507/p/4726674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!