数据结构
秃头小宝儿
小白菜初来乍到,尽心尽力
展开
-
数据结构:常见排序算法(4) --归并排序(递归 &&非递归)及排序总结
(1)归并排序 ①原理 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子 序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 ②代码实现 递归实现: public class MergeSort { public static void main(String[] args) { int原创 2021-04-01 17:12:12 · 1388 阅读 · 2 评论 -
数据结构:常见排序算法(3) -- 交换排序(冒泡排序、快速排序)
(1)冒泡排序 ①原理: 在无序区间,通过相邻数的比较,将最大的数冒泡到无序区间的最后,持续这个过程,直到数组整体有序 ②代码实现: import java.util.Arrays; //冒泡排序: 时间复杂度O(n^2) 空间复杂度:O(1) public class bubbleSort { public static void main(String[] args) { int[] array={5,8,1,2,5,22,44,15,3,0,48}; S原创 2021-03-30 21:43:57 · 1323 阅读 · 11 评论 -
数据结构:常见排序算法(2) -- 选择排序(选择排序、堆排序)
(1)选择排序 ①原理: 每一次从无序区间选出最大(或最小)的一个元素,存放在无序区间的最后(或最前),直到全部待排序的数据元素 排完 。 ②代码实现: import java.util.Arrays; /** * 选择排序 */ public class selectSort { public static void main(String[] args) { int[] array={5,1,25,4,8,11,5,7,5,0}; System.ou原创 2021-03-30 17:02:43 · 1277 阅读 · 4 评论 -
数据结构:常见排序算法(1) -- 插入排序(直接插入排序、希尔排序)
(1)直接插入排序 ①原理: 整个区间被分为: 1.有序区间 2.无序区间 每次选择无序区间的第一个元素,在有序区间内选择合适的位置插入 ②代码实现: public class insertSort { public static void main(String[] args) { int[] array={1,5,78,6,4,8,45,12,0,88}; System.out.println(Arrays.toString(array));原创 2021-03-30 16:04:46 · 3431 阅读 · 12 评论