计算机三级考试的一道笔试题(1)14

来源:百度知道 编辑:UC知道 时间:2024/06/24 18:20:00
14、用下列4种排序方法,对一个已排好序(由小到大)的序列进行排序(由小到大),哪种方法最好?
A 冒泡排序
B 直接选择排序
C 直接插入排序
D 归并排序
可以麻烦大家说说这几种排序的区别吗?它们主要是做什么用的呢?

答案是:冒泡
A冒泡,只经过n-1次比较,没有任何移动,这是最好的情况了。
B直接选择法;经过!(n-1)次比较。当然就慢了。
C可能是名字不同,我不知道这是什么方法,
D有个合并排序,一般来讲数组的个数大于10个这个排序比直接选择要快,
不过它的核心是递归而且创建一个新的数组,需要移动n个数字,这种极端的情况还是慢。
现在大多数的排序方法都是用的“快速排序法”。也是递归不过并不创建新的数组。

D 归并排序

作用肯定都是一样的:给数字排序

其他三种排序方法不同,本质都相似,时间复杂度:n^2
归并排序执行最快,时间复杂度:nlog2(n)

归并排序。