排序算法
排序算法整理
风逸云舒
人生碌碌,竞短论长,却不道枯荣有数,得失难量。
展开
-
快速排序【排序算法】
目录1.理解2.动态可视化3.静态示例4.实现5.是否是稳定的1.理解快速排序是冒泡排序的变种,提高了效率。2.动态可视化https://visualgo.net/zh/sorting3.静态示例4.实现public class QuickSort { public static void quickSort(int[] arr,int startIndex,int endIndex){ // ...原创 2021-12-16 21:04:08 · 271 阅读 · 0 评论 -
归并排序【排序算法】
1.理解通过递归的思想,进行“分而治之”,然后再合并到上一层。2.动态可视化https://visualgo.net/zh/sorting3.静态图例4.实现 public static int[] sort(int[] array) { ...原创 2021-12-16 20:56:39 · 243 阅读 · 0 评论 -
希尔排序【排序算法】
1.理解希尔排序可以理解成是插入排序的变种,在排序过程中往往会出现与需要排序相反的排序型,在插入排序的时候,要唯一很多次,很浪费性能。2.动态可视化演示暂无3.静态图示4.实现...原创 2021-12-16 20:52:07 · 232 阅读 · 0 评论 -
插入排序【排序算法】
目录1.理解2.动态可视化展示3.静态图例4.实现5.算法稳定性1.理解插入排序本质上和选择排序差不多,选择选择最小值插入进去,插入排序是按照顺序出入,在插入之前先寻找合适的插入位置。2.动态可视化展示https://visualgo.net/zh/sorting3.静态图例4.实现public static int[] sort(int[] array) { if (array.length == 0)...原创 2021-12-16 20:46:45 · 187 阅读 · 0 评论 -
选择排序【排序算法】
1.理解选择当前指针之后的数据(最大值或者最小值)放到该指针所指向的位置即可。2.动态可视话演示https://visualgo.net/zh/sorting3.静态图示4.实现public static int[] sort(int[] array) { if (array.length == 0) { return array; } for (int i = 0; i &...原创 2021-12-16 20:43:29 · 159 阅读 · 0 评论 -
冒泡排序【排序算法】
目录1.理解2.动态图示例3.静态图示例4.实现1.理解冒泡算法,原理是通过相邻两个进行比较,把大值或者小值往统一的方向变更,这样就能确认出该数组的最左面或者最右面是最大值或者是最小值。2.动态图示例https://visualgo.net/zh/sorting3.静态图示例4.实现public static int[] sort(int[] array) { if (array.length == 0...原创 2021-12-16 20:39:57 · 143 阅读 · 0 评论