1. 算法概述
选择排序是对冒泡排序的一种改进。
选择排序(Selection Sort)的基本思想是:每一趟在n-i+1(i=1,2,...,n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有
简单选择排序、
树形选择排序和
堆排序。
2. 简单的选择排序
2.1 简单的选择排序分析
简单的选择排序可以描述为:在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换,以此类推,第N-1趟遍历剩下的2个数据,找出其中最小的数值与第N-1个元素交换,完成整个排序的过程。
下面是选择排序过程的示例:
一趟选择排序的操作为:通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)个记录交换之