选择排序之直接选择排序

来源:互联网 发布:2017年看房用什么软件 编辑:程序博客网 时间:2024/05/29 02:15

选择排序的基本思想就是依此从待排序记录序列中选择出关键字值最小(或最大)的记录,并分别将他们定位到序列左侧(或右侧),


直接选择排序,假设待排序的序列为

有序序列R[1..i-1]无序序列R[i..n]
直接选择排序就是从无序序列中选出最小的记录加入到有序序列


举例说明

初始序列

51 33 62 96 8717 28

从第一位51开始作为第一个有序序列,往后找出最小的值然后与之交换,如果没有,再从第二个位置开始重复往下找,

首先33<51 ,则认为33是较小的数从33开始找如果有比33小的数则继续找,发现17 比33小是最小的,

则将17 和51交换,

变为


[17] 33 62 96 8751 28

有序序列现在变为17 ,后面为无序序列,从后面再次找到最小值,然后放到17的后面组成新的有序序列,

从33开始找,只有28比他小,交换28和33

最新的有序序列是

[17,28]  6296 87 51 33

以此类推

[17,28,33] 9687 51 62

[17,28,33,51] 8796 62

[17,28,33,51,62] 9687

[17,28,33,51,62,87] 96

[17,28,33,51,62,87,96]



直接选择排序的平均时间复杂度为O(n2)


原创粉丝点击