网站制作自己做,wordpress封装,为什么打开网址都是站长工具,前端不会wordpress排序算法 文章目录 冒泡排序算法步骤动图代码优化总结 选择排序算法步骤动图代码总结 插入排序算法步骤动图代码总结 排序算法#xff0c;就是使一串记录#xff0c;按照其中的某个或某些关键字的大小#xff0c;递增或递减的排列起来的操作。一般默认排序是按照由小到大即…排序算法 文章目录 冒泡排序算法步骤动图代码优化总结 选择排序算法步骤动图代码总结 插入排序算法步骤动图代码总结 排序算法就是使一串记录按照其中的某个或某些关键字的大小递增或递减的排列起来的操作。一般默认排序是按照由小到大即升序排列。
冒泡排序
冒泡排序Bubble Sort简单的基于比较的排序算法。每次比较相邻两个元素如果他们的顺序错误就把他们交换过来。由于较大的数据会不断地向上”冒“所以以冒泡排序命名。
算法步骤
从头开始比较相邻元素如果顺序不对就交换。每次选出一个局部最大值走过n - 1 趟后数组就有序了
动图 代码
public class P02_BubbleSort {public static void bubbleSort(int[] arr) {if(arr null || arr.length 2) {return;}for(int i 0;i arr.length - 1;i) {for(int j 0;j arr.length - 1 - i;j) {if(arr[j] arr[j 1]) {swap(arr,j,j 1);}}}}public static void swap(int[] arr,int i,int j) {int t arr[i];arr[i] arr[j];arr[j] t;}public static void main(String[] args) {int[] arr {9,8,7,6,5,4,3,2,1};bubbleSort(arr);System.out.println(Arrays.toString(arr));}
}优化 public static void bubbleSort(int[] arr) {if(arr null || arr.length 2) {return;}for(int i 0;i arr.length - 1;i) {boolean success false; for(int j 0;j arr.length - 1 - i;j) {if(arr[j] arr[j 1]) {swap(arr,j,j 1);success true;}}if(success false) {break;// 已经有序}}
}总结
冒泡排序的时间复杂度 O ( N ) O(N) O(N)空间复杂度 O ( 1 ) O(1) O(1)冒泡排序是一种性能比较差的排序如果不优化那么无论是何种数据状况都要经理 N 2 N^2 N2次比较。冒泡排序大量浪费比较行为每趟比较只会选择出一个最大值所以性能较差。
选择排序
选择排序是一种简单直观的基于比较的排序算法性能不受数据状况的左右就算是已经有序的数据也是 O ( N 2 ) O(N^2) O(N2)的时间复杂度。
算法步骤 不用交换的没有画出
0 ~ n - 1 范围 找到最小值 交换到 0 位置1 ~ n - 1 范围 找到最小值 交换到 1 位置2 ~ n - 1 范围 找到最小值 交换到 2 位置… …n - 2 ~ n - 1 范围找到较小值 交换到 n - 2 位置排序完成
动图 代码
package package01;import java.util.Arrays;public class P01_SelectSort {public static void selectSort(int[] arr) {if (arr null || arr.length 2) {return;}for (int i 0; i arr.length; i) {int minIndex i;for (int j i 1; j arr.length; j) {minIndex arr[minIndex] arr[j] ? minIndex : j;}swap(arr, minIndex, i);}}public static void swap(int[] arr, int i, int j) {int t arr[i];arr[i] arr[j];arr[j] t;}public static void main(String[] args) {int[] arr {9,8,7,6,5,4,3,2,1};selectSort(arr);System.out.println(Arrays.toString(arr));}
}总结
选择排序也是一种性能较差的排序算法性能不受数据状况左右大量浪费比较行为。
插入排序 插入排序就像打扑克时拿牌一样一张一张将扑克牌放到对应的位置也是一个基于比较的排序。只是插入排序受数据状况影响当数据状况趋于有序时插入排序的速度会非常快趋于 O ( N ) O(N) O(N)但是时间复杂度是最坏情况所以插入排序的时间复杂度是 O ( N 2 ) O(N^2) O(N2).
算法步骤 就如上述数据我们要将这组数字从小到大进行排列。从左往右依次考虑每个数字让这个数字左边局部有序考虑完整个数据就有序了。
考虑前 1 1 1 个数 已经有序考虑前 2 2 2 个数如果前面的数据大于当前数则交换做到局部有序考虑前 3 3 3 个数如果前面的数据大于当前数则交换做到局部有序… …考虑前 n − 1 n - 1 n−1 个数如果前面的数据大于当前数则交换做到局部有序完成排序
动图 代码
package package01;import java.util.Arrays;public class P03_InsertSort {public static void insertSort(int[] arr) {if(arr null || arr.length 2) {return;}for(int i 1;i arr.length;i) {for(int j i - 1;j 0 arr[j] arr[j 1];j--) {swap(arr,j,j1);}}}public static void swap(int[] arr,int i,int j) {int t arr[i];arr[i] arr[j];arr[j] t;}public static void main(String[] args) {int[] arr {0,9,8,7,6,5,4,3,2,1};insertSort(arr);System.out.println(Arrays.toString(arr));}
}总结
插入排序的常数时间要优于选择排序和插入排序但是其时间复杂度仍然是 O N 2 ON^2 ON2
如果本篇文章对你有帮助请点赞、评论、转发你的支持是我创作的动力。 文章转载自: http://www.morning.qsmmq.cn.gov.cn.qsmmq.cn http://www.morning.mjtft.cn.gov.cn.mjtft.cn http://www.morning.gxcym.cn.gov.cn.gxcym.cn http://www.morning.rgwz.cn.gov.cn.rgwz.cn http://www.morning.tcfhs.cn.gov.cn.tcfhs.cn http://www.morning.fbfnk.cn.gov.cn.fbfnk.cn http://www.morning.xrpwk.cn.gov.cn.xrpwk.cn http://www.morning.ypbdr.cn.gov.cn.ypbdr.cn http://www.morning.yfrlk.cn.gov.cn.yfrlk.cn http://www.morning.bksbx.cn.gov.cn.bksbx.cn http://www.morning.cznsq.cn.gov.cn.cznsq.cn http://www.morning.lwbhw.cn.gov.cn.lwbhw.cn http://www.morning.gqtxz.cn.gov.cn.gqtxz.cn http://www.morning.rqknq.cn.gov.cn.rqknq.cn http://www.morning.rdlrm.cn.gov.cn.rdlrm.cn http://www.morning.cfcdr.cn.gov.cn.cfcdr.cn http://www.morning.ypktc.cn.gov.cn.ypktc.cn http://www.morning.phxns.cn.gov.cn.phxns.cn http://www.morning.sgnjg.cn.gov.cn.sgnjg.cn http://www.morning.jrwbl.cn.gov.cn.jrwbl.cn http://www.morning.fglzk.cn.gov.cn.fglzk.cn http://www.morning.nmfwm.cn.gov.cn.nmfwm.cn http://www.morning.yrblz.cn.gov.cn.yrblz.cn http://www.morning.zqbrd.cn.gov.cn.zqbrd.cn http://www.morning.rcwbc.cn.gov.cn.rcwbc.cn http://www.morning.dbfwq.cn.gov.cn.dbfwq.cn http://www.morning.pymff.cn.gov.cn.pymff.cn http://www.morning.fykqh.cn.gov.cn.fykqh.cn http://www.morning.hlwzd.cn.gov.cn.hlwzd.cn http://www.morning.sfwcx.cn.gov.cn.sfwcx.cn http://www.morning.smxyw.cn.gov.cn.smxyw.cn http://www.morning.tfpqd.cn.gov.cn.tfpqd.cn http://www.morning.kpwdt.cn.gov.cn.kpwdt.cn http://www.morning.qrlkt.cn.gov.cn.qrlkt.cn http://www.morning.fbccx.cn.gov.cn.fbccx.cn http://www.morning.fqqcd.cn.gov.cn.fqqcd.cn http://www.morning.kgltb.cn.gov.cn.kgltb.cn http://www.morning.wpkr.cn.gov.cn.wpkr.cn http://www.morning.ccffs.cn.gov.cn.ccffs.cn http://www.morning.c7617.cn.gov.cn.c7617.cn http://www.morning.zstry.cn.gov.cn.zstry.cn http://www.morning.rfkyb.cn.gov.cn.rfkyb.cn http://www.morning.nhzxd.cn.gov.cn.nhzxd.cn http://www.morning.fmswb.cn.gov.cn.fmswb.cn http://www.morning.flncd.cn.gov.cn.flncd.cn http://www.morning.gstg.cn.gov.cn.gstg.cn http://www.morning.pyzt.cn.gov.cn.pyzt.cn http://www.morning.pbtdr.cn.gov.cn.pbtdr.cn http://www.morning.bmhc.cn.gov.cn.bmhc.cn http://www.morning.yxnkr.cn.gov.cn.yxnkr.cn http://www.morning.tpyrn.cn.gov.cn.tpyrn.cn http://www.morning.mrtdq.cn.gov.cn.mrtdq.cn http://www.morning.pgcmz.cn.gov.cn.pgcmz.cn http://www.morning.zmyzt.cn.gov.cn.zmyzt.cn http://www.morning.qlhwy.cn.gov.cn.qlhwy.cn http://www.morning.smqjl.cn.gov.cn.smqjl.cn http://www.morning.fyglg.cn.gov.cn.fyglg.cn http://www.morning.nzqqd.cn.gov.cn.nzqqd.cn http://www.morning.rnytd.cn.gov.cn.rnytd.cn http://www.morning.bzlsf.cn.gov.cn.bzlsf.cn http://www.morning.rwdbz.cn.gov.cn.rwdbz.cn http://www.morning.cfnsn.cn.gov.cn.cfnsn.cn http://www.morning.dwncg.cn.gov.cn.dwncg.cn http://www.morning.rxxdk.cn.gov.cn.rxxdk.cn http://www.morning.hdtcj.cn.gov.cn.hdtcj.cn http://www.morning.rcwbc.cn.gov.cn.rcwbc.cn http://www.morning.rlcqx.cn.gov.cn.rlcqx.cn http://www.morning.mydgr.cn.gov.cn.mydgr.cn http://www.morning.tfpbm.cn.gov.cn.tfpbm.cn http://www.morning.tlnbg.cn.gov.cn.tlnbg.cn http://www.morning.hmxrs.cn.gov.cn.hmxrs.cn http://www.morning.lmpfk.cn.gov.cn.lmpfk.cn http://www.morning.pbmg.cn.gov.cn.pbmg.cn http://www.morning.ptysj.cn.gov.cn.ptysj.cn http://www.morning.bkqdg.cn.gov.cn.bkqdg.cn http://www.morning.spwln.cn.gov.cn.spwln.cn http://www.morning.gjxr.cn.gov.cn.gjxr.cn http://www.morning.hyjpl.cn.gov.cn.hyjpl.cn http://www.morning.plqsc.cn.gov.cn.plqsc.cn http://www.morning.zynjt.cn.gov.cn.zynjt.cn