
算法
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 · 247 阅读 · 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 · 201 阅读 · 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 · 973 阅读 · 0 评论