首页 > 试题广场 >

某种排序方法对关键字序列(33,12,44,10,6,8,1

[单选题]

某种排序方法对关键字序列(33,12,44,10,6,8,17)进行排序时,前三趟排序的结果如下:

6,12,44,10,33,8,17

6,8,44,10,33,12,17

6,8,10,44,33,12,17
则采用的排序方法是()
  • 希尔排序
  • 归并排序
  • 快速排序
  • 选择排序

33 12 44 10 6 8 17

6 12 44 10 33 8 17

6 8 44 10 33 12 17

6 8 10 44 33 12 17

6 8 10 12 33 44 17

6 8 10 12 17 44 33

6 8 10 12 17 33 44

发表于 2018-07-17 15:49:46 回复(0)
A 希尔排序:因为33和6交换,那么按照分隔的距离12需要和8进行交换,和结果不符合,所以排除
B 归并排序:归并第一趟后得出【12,33,10,44】【6,8,17】,和结果不符合,所以排除
C 快速排序:按照快排性质,选出的元素需要满足左边比它小,右边比它大的性质,第一趟只有6满足,第二趟只有8满足,第三趟只有10满足,可以看出这种选元素的方式并不符合快排,也就是说,没有一种选取元素算法能够如此精确的选出6,8,10这三个数来,所以排除
D 选择排序:每一趟选出最小的数,满足选择排序性质
发表于 2020-03-01 21:42:10 回复(1)
 选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换......第N-1趟遍历剩下的2个数据,找出其中最小的数值与第N-1个元素交换,至此选择排序完成
发表于 2018-12-13 20:56:44 回复(0)
首先观察排序的特点:会发现,最小的数值会被依次挪到最前面,一看就可以知道:选择排序。
选择排序:就是从待排序数中找出最小的数,然后将最小的数字所在的位置和第一位数进行交换即可,之后找出次小的数字,同样交换位置即可。
发表于 2020-05-26 17:19:04 回复(0)
选择排序:升序,选择最小的元素,讲它与第1,2....的位置替换
发表于 2021-04-27 07:43:37 回复(0)
选择排序(Selection sort)是一种简单直观的排序算法。 它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。 以此类推,直到全部待排序的数据元素的个数为零。 选择排序是不稳定的排序方法。


发表于 2021-01-04 21:15:53 回复(1)

希尔排序

d为增量

  1. d=3,10 6 8 17 12 44 33
  2. d=2,8 6 10 17 12 44 33
  3. d=1,6 8 10 12 17 33 44

归并排序(2路归并)

拆分后 [33] [12] [44] [10] [6] [8] [17]

  1. 一次归并 [12 33] [10 44] [6 8] [17]
  2. 二次归并 [10 12 33 44] [6 8 17]
  3. 最后一次归并 6 8 10 12 17 33 44

快速排序

挖坑法,基数选取用三数中值分割法

  1. 一次划分,取pivot=17,8 12 6 10 17 44 33
  2. 二次划分,左边取pivot=8,右边去pivot=44,6 8 12 10 17 33 44
  3. 三次划分,pivot=12,6 8 10 12 17 33 44

选择排序

  1. 6,12,44,10,33,8,17
  2. 6,8,44,10,33,12,17
  3. 6,8,10,44,33,12,17
  4. 6,8,10,12,33,44,17
  5. 6,8,10,12,17,44,33
  6. 6,8,10,12,17,33,44
发表于 2019-06-21 15:58:28 回复(0)
选择排序是每次从中选择一个最小的元素放在前边
发表于 2019-04-20 16:01:48 回复(0)
直接选择的话那第二趟10 的位置不对啊,第二趟结果应该是6,8,44,12,32,10,17吧
发表于 2018-08-20 16:01:52 回复(0)
如果定义不清楚的话,名字其实也可以看得出来,选择选择,无非就是每次选择一个最小or最大的放到前面来,当然排序的知识多看看定义,打扎实基础没毛病
编辑于 2017-08-09 13:02:59 回复(0)
每次找到剩下数字中最小的与第一个数交换位置的排列方式是选择排列。
发表于 2017-08-09 12:25:02 回复(0)