选择排序算法通过不停地在数组中未排序的部分找到最小的元素,然后把它放在开始处实现对数组的排序。使用此算法在一个数组中可以分为两个子数组:
1)已经排序的子数组。
2)未排序的剩余子数组。
在选择排序的每次迭代中,从未排序的子数组中选取最小元素,并将其移动到已排序的子数组中。
以下示例解释了上述步骤:
下面的动图展示了这个过程:
代码实现
时间复杂度
O(n2) 即 O(n * n) 因为有两层嵌套循环。
选择排序的好处是它不会产生超过0(n)的交换,并且在内存写操作成本很高的时候很有用。它不需要额外的空间即可完成排序操作。
特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。