您的位置:首页 > 其它

选择排序之直接选择排序

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

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

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

举例说明

初始序列

51 33
62 96 87
17 28

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

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

则将17 和51交换,

变为

[17] 33
62 96 87
51 28

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

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

最新的有序序列是

[17,28]  62
96 87
51 33

以此类推

[17,28,33] 96
87 51
62

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

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

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

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

直接选择排序的平均时间复杂度为O(n2)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: