简单选择排序:
从待排序元素中选择最小的元素。
简单选择排序的思想:
1.从待排序元素中,找到最小的元素,如果最小的元素不在一个,就和第一个元素进行交换。
2.、从剩下的待排序元素中选择最小的元素,依次放在1步骤后面。不断重复一二步骤,直到所有的元素都排序完成即可。
排序过程见下图:
如图所示,每趟排序中,将当前第 i 小的元素放在位置 i 上。
算法分析:
时间复杂度:
简单选择排序的比较次数与序列的初始排序无关。 假设待排序的序列有 N 个元素,则比较次数总是N (N - 1) / 2。
而移动次数与序列的初始排序有关。当序列正序时,移动次数最少,为 0.
当序列反序时,移动次数最多,为3N (N - 1) / 2。
所以,综合以上,简单排序的时间复杂度为 O(N2)。