欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

选择排序之小白学算法

发布时间:2024/8/1 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 选择排序之小白学算法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

直观展示

排序思路

从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为0.

稳定性

排序算法是不稳定的排序方法

时间复杂度

(N^2)

算法评价

这是一种简单直观的排序算法,无论什么数据进去都是相同的时间复杂度,数据规模越小越好,唯一的好处就是不占用额外的内存空间。

选择排序示例

[2 4 3 1 6 5] 初始状态 [1][3 4 2 6 5] 第一次选择结束 [1 2][4 3 6 5] 第二次选择结束 [1 2 3][4 6 5] 第三次选择结束 [1 2 3 4][6 5] 第四次选择结束 [1 2 3 4 5][6] 第五次选择结束

选择排序代码示例:

public void select_sort(int[] arr) {int min;if (nums == null || nums.length < 2) {return;}//总共需要经过n-1轮比较for(int i = 0; i < arr.length-1; i++) {min = i;//每轮需要比较的次数n-ifor (int j = i+1; j < arr.length;j++) {if(arr[min] > arr[j]) {//min记录目前能找到的最小值元素的下标min = j;}}//将找到的最小值和i位置所在的值进行交换if(i != min) {int t = arr[i];arr[i] = arr[min];arr[min] = t;}} }

不足之处,欢迎大佬批评指正

总结

以上是生活随笔为你收集整理的选择排序之小白学算法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。