排序
文章平均质量分 69
秃头洗头用飘柔
自强不息 明治高远
展开
-
比较好懂的选择排序(java)
选择排序介绍选择排序的核心思想就是每次遍历我都确定一个值,第一次遍历我把最小值确定下来放在最第一个,然后第二次遍历我把第二小的确定下来放在第二个。每次确定一个值我们就可以少考虑一个值。这就是选择排序图解(来自参考资料)代码实现 public static void main(String[] args) { int[] arr = {2, 1, 5, 4, 6, 3, 0}; selectSort(arr); } public static原创 2020-11-27 17:58:08 · 95 阅读 · 2 评论 -
简单易懂_桶排序
桶排序描述我们可以想象一个,如果我们有十个数组编号分别是0~9,如果我们要排序的数据都是个位数的话(例如4,2,9,8,6),我们按照数据本身的值存入相对应编号的数组,例如4存入编号为4的数组,然后按照顺序去遍历十个数组取出的数据就是有序的数据。图片分析分析所以桶排序对应桶排序我们要去解决的是怎么去对多位数进行排序。代码实现注释得很清楚 public static void main(String[] args) { int [] arr = {623,3414,4231原创 2020-11-20 19:18:07 · 133 阅读 · 0 评论 -
举例分析_快速排序
快速排序描述快速排序的核心思想就是定义一个中间值 然后让这个数组中比它小的值都去到它的左边 比它大的值都去到它的右边 。完毕后再重新定义中间值 直至排序完毕。举个栗子(场景描述 )军训排队站队列 教官拉出一个人(中间值) 说比他矮的站他左边 比他高的站他右边 ,这次完毕后 这个人左边的同学都会比他矮,右边的同学都会比他高。这里没问题的话 后面就是递归的问题了(按规律不停的定义中间值)。(先对左边数据进行排序)教官去左边的中间再拉出一个人 比他矮的人站他左边 ,比他高的人站他右边 但原创 2020-11-18 00:21:46 · 317 阅读 · 0 评论 -
简单易懂_插入排序
插入排序描述插入排序就是给每一个数据找到相对应的位置并插进去 说的些许抽象, 记住这个“插入”圈起来要考。举个栗子 当数组遍历到第二个数据(数据2)时 首先会让数据2和在他前面的数据1 进行比较 如果数据1比较大 就会把数据2“插入”到数据1 前面。反之则一动不动。 遍历到数据3 时 首先会让数据3和在它前面的数据2 作比较 如果数据3 比数据2 大 则一动不动 反之 插入到数据2前面继续跟数据1比较 依次类推 当我们遍历完最后一个数据时 我们就可以得到一个有序数组(集合)了图片加深理解(来源参考原创 2020-11-16 21:49:08 · 544 阅读 · 4 评论 -
通俗易懂_冒泡排序
冒泡排序描述冒泡排序的核心思想 你可以想想军训站队排队列 , 首先得把第一个人拉出来跟第二个人进行比较 ,如果第二个比他高 两人交换位置 然后他就站在第二个 ,然后继续让第二个跟第三个进行比较 以此类推 直到比较到最后一个。第一轮比较完毕后就会确定出最高的人并且站到最后 ,这个时候就确定了最大值 。然后继续拉出队列中第一个人进行比较 确定第二大的值 以此类推 循环比较n-1次 (n是需要进行比较的数据总数)。来张图加深理解(来源参考资料)代码奉上import java.util.Arrays原创 2020-11-16 21:10:27 · 161 阅读 · 0 评论 -
通俗易懂_希尔排序
希尔排序学希尔排序的话 应该是学完插入排序了吧 ,如果没有学习的话我也有写 点击传送 ,可以先看看插入排序。因为希尔排序是把插入排序做了一个优化升级。应用场景我们使用插入排序去对一组数据进行排序的话最不希望看到的状况是哪种呢,很显然是数据的量大 而且大小数据极其不规律的情况 比如说小的数据都在后面 大的数据都在前面,因为插入排序的一个机制是拿当前的数据跟前面的数据不停的作比较然后插入,直至当前数据比前面的数据大。基于这样的机制我们遍历到越后面要进行的操作就越多,不停的比较和插入,效率和速度上就会原创 2020-11-20 15:11:00 · 4991 阅读 · 3 评论