![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
YKCCCHEN
一个在努力学习的孩子
展开
-
冒泡排序--java版
冒泡排序 冒泡排序是一种比较基础的排序,相当于每个数字都需要 顺序冒(类似于报数) 出来一下,核心思想是每个数字依次比较(1号数字和2号比较,3号数字与4号数字比较),若前面数字比后面数字大就交换位置,此时需要O(1) 的空间进行辅助交换,而一趟大循环只能选出一个最大的,因此需要数组长度次数-1次大循环(最后一次剩2个数字,选出最大的,剩下的就是最小的了,因此是n-1次) 下面代码将分为4小点讲解...原创 2019-04-13 10:40:53 · 168 阅读 · 0 评论 -
归并排序---java版
归并排序 归并排序采用分治法,需要辅助空间来存放需要 排序的小数组 和 排序好的数组再整合的数组,因为使用了分路递归,所以时间复杂度都是O(nlogn),核心想法就是,假设有数组长度为10,一直对半拆分,最后剩2个数字排序,递归整合后再整合 下面代码将分为10小点讲解思想,对应的点在代码后的注释 其代码如下: static int[] mergeSort(int...arr) { if(arr...原创 2019-04-13 14:02:11 · 133 阅读 · 0 评论