![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
edisonyuan
Be better every day!
展开
-
排序算法之选择排序
原理:某数组arr,从0开始遍历,假设当前下标为i,与之后的所有数字比较大小,如果arr[j]<arr[i],则交换位置时间复杂度O(N2),空间复杂度O(1)代码实现1://swap次数太多,性能差public static void selectionSort(int[] arr){ for(int i=0 ; i<arr.length-1 ; ...原创 2019-01-28 20:36:43 · 210 阅读 · 0 评论 -
排序算法之冒泡排序
原理:与选择排序类似,选择排序是将小的数字往数组头部换,而冒泡排序是将大的数字向数组尾部换时间复杂度O(N2),空间复杂度O(1)代码:public static void bubbleSort(int[] arr){ for(int i=arr.length-1 ; i>=0 ; i--){ int maxIndex=i; ...原创 2019-01-28 20:47:11 · 169 阅读 · 0 评论 -
排序算法之插入排序
原理:数组arr,1,目标:0~0有序,必然成立;2,目标:0~1有序,如果arr[1]<arr[0],交换;3,目标:0~2有序,如果arr[2]<arr[1],交换,如果arr[1]<arr[0],交换;4,目标:0~i有序,如果arr[i]<arr[i-1],交换,如果arr[i-1]<arr[i-2],交换,以此类推。。。代码:pu...原创 2019-01-28 21:43:03 · 937 阅读 · 0 评论