上海做网站的多吗,湖北民族建设集团网站,附近招聘信息最近招聘,男女怎样做那个视频网站文章目录 #x1f412;个人主页#x1f3c5;算法思维框架#x1f4d6;前言#xff1a; #x1f380;选择排序 时间复杂度O(n^2)#x1f387;1. 算法步骤思想#x1f387;2.动画实现#x1f387; 3.代码实现 #x1f412;个人主页 #x1f3c5;算法思维框架 #x1f… 文章目录 个人主页算法思维框架前言 选择排序 时间复杂度O(n^2)1. 算法步骤思想2.动画实现 3.代码实现 个人主页 算法思维框架 前言
本篇博客主要以介绍十大排序算法中的选择排序有详细的图解、动画演示、良好的代码注释帮助加深对这些算法的理解进行查漏补缺~
选择排序 时间复杂度O(n^2)
选择排序也是一种简单直观的排序算法无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧
1. 算法步骤思想 首先在未排序序列中找到最小大元素存放到排序序列的起始位置。 再从剩余未排序元素中继续寻找最小大元素然后放到已排序序列的末尾。 重复第二步直到所有元素均排序完毕。 2.动画实现 3.代码实现 public void sort(int[] arr){if(arrnull||arr.length2){return;}//思路遍历一遍数组找到最小值的下标往前面放‘交换’到已经排好序的末尾for (int i 0; i arr.length-1; i) {//比较n-1趟int minIndexi;//记录插入最小值元素的下标for (int j i1; j arr.length; j) {if(arr[minIndex]arr[j]){//找到更小的了minIndexj;}}//交换int temparr[i];arr[i]arr[minIndex];arr[minIndex]temp;}}