排序算法
抹茶2077
有效输出,无限进步。
展开
-
快速排序模板及优化
快速排序模板及优化 算法特性 时间复杂度:O(N*logN)~O(N^2) 最好情况:哨兵划分操作为线性时间复杂度 O(N);递归轮数共 O(logN) 最坏情况:若每轮哨兵划分操作都将长度为 N 的数组划分为长度为 1 和 N - 1的两个子数组,此时递归轮数达到 N轮 。 空间复杂度:O(N) 非稳定: 哨兵划分操作可能改变相等元素的相对顺序。 常规:哨兵+递归 将数据组中最左/右侧的数据作为基准数,将它作为哨兵元素,值小于哨兵的放在其左侧,大于的放在其右侧。 一轮划分结束后,转换成两原创 2022-01-22 16:07:25 · 2268 阅读 · 0 评论 -
冒泡排序优化
冒泡排序优化 常规思路 对N个数进行冒泡排序的常规思路: 对相邻元素进行两两比较排序,将最大/小元素放在最后,每次确定一位 缩小比较区间,共需比较 (n-1)+(n-2)+(n-3)+…+1 = n^2/2次 private static void bubbleSort(int[] arr) { int n=arr.length; for(int i=0;i<n-1;i++) { for(int j=0原创 2022-01-21 12:18:19 · 2504 阅读 · 0 评论