原理:
选择排序,就是直接从待排序数组里选择一个最小(或最大)的数字,每次都拿一个最小数字出来,和剩下的数进行比较,再顺序放入新数组,直到全部拿完
排序过程:

时间复杂度:
第一次内循环比较N - 1次,然后是N-2次,N-3次,……,最后一次内循环比较1次。
共比较的次数是(N - 1) + (N - 2) + ... + 1,求等差数列和,得(N - 1 + 1)* N / 2 = N^2 / 2。
舍去最高项系数,其时间复杂度为O(N^2)。
代码实现:

原理:
选择排序,就是直接从待排序数组里选择一个最小(或最大)的数字,每次都拿一个最小数字出来,和剩下的数进行比较,再顺序放入新数组,直到全部拿完
排序过程:
时间复杂度:
第一次内循环比较N - 1次,然后是N-2次,N-3次,……,最后一次内循环比较1次。
共比较的次数是(N - 1) + (N - 2) + ... + 1,求等差数列和,得(N - 1 + 1)* N / 2 = N^2 / 2。
舍去最高项系数,其时间复杂度为O(N^2)。
代码实现:
本文标题:排序算法(1)-选择排序
本文链接:https://www.haomeiwen.com/subject/imrtvqtx.html
网友评论