
数据结构与算法(Java版)
记录与数据结构与算法(Java版)相关的内容
yuhuofei2021
记录即分享
展开
-
排序算法05-快速排序算法
代码实现: package com.org.example; import java.util.Arrays; /** * * @description 快速排序算法 * */ public class QuickSort { public static void main(String[] args) { int[] array = { 12, 32, 51, 45, 69, 5, 2 }; quickSort(array, 0, array.length - 1); S原创 2021-09-28 20:12:03 · 96 阅读 · 0 评论 -
排序算法04-归并排序算法
package com.org.example; import java.util.Arrays; /** * @description 归并排序(递归方式) 核心思想:分而治之,先拆分后排序合并归一 */ public class MergeSort { public static void main(String[] args) { int[] arr = { 24, 3, 6, 8, 85, 6, 7 }; sort(arr, 0, arr.length - 1); Syste原创 2021-09-28 18:04:53 · 109 阅读 · 0 评论 -
排序算法01-冒泡排序算法
基础算法-冒泡排序算法 生活中观察到这样的现象:在水中的气泡,当它处于水底的时候,体积是很小的,而随着它不断上浮,离水面越来越近,它的体积会越来越大,最后破裂结束。 如果水中同时有很多个气泡,以水底为参考平面,我们会发现,体积大的气泡总是排在体积小的后面,离水底的距离更远。冒泡排序算法,和这个现象,有着或多或少的联系。 1 现象讲完了,来看下具体的代码: package com.daily; import java.util.Arrays; /** * * @description 冒泡排序算法原创 2021-06-11 20:23:51 · 128 阅读 · 0 评论 -
排序算法03-插入排序算法
基础算法-插入排序算法 插入排序算法,大体思想是:将数组中未排序的元素,逐个与前面已经完成排序的元素进行比较大小,选择合适的位置插入进去,依此想法,不断重复,直至完成最后一个元素的排序。 通过一个示例,再进行更简单的理解。比如,我们现在有一个int[]类型的数组,主要元素有{23,84,5,70,39,14,43},是无序的。按照上面描述的思想,怎么利用插入排序算法排序呢? 对于第一个元素23,它前面是没有元素的,我们可以理解为它已经排好一轮,当前就排在第一个位置,不需要我们移动。对于后面的84、5、70、原创 2021-06-24 09:52:17 · 150 阅读 · 0 评论 -
排序算法02-选择排序算法
基础算法-选择排序算法 选择排序算法,个人觉得可以通过定位置选数值的想法来考虑。 比如数组中的第一个位置,就放数值最小的那个数;第二个位置,放数值第二小的那个数……依次类推,最后的一个位置,就放数值最大的那个数。由此,我们就可以完成整个数组,从小到大的升序排序。 想法有了,那我们要做的,就是在所有数中,为相应位置找到正确的数,并放置好。 以第1个位置的数a[0]为例,我们用a[0]和后面的数(a[1]、a[2]、a[3]……)逐个对比,只要发现比a[0]数值小,就和a[0]进行数值交换,交换完成,继续用a[原创 2021-06-13 00:02:20 · 106 阅读 · 3 评论