![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
一招鲜@Q
TO BE A BETTER MAN
展开
-
算法之初级排序
讲排序之前先来几个简单的函数:交换函数:public static void swap(Comparable[] a, int i, int j){ Comparable t = a[i]; a[i] = a[j]; a[j] = t;}小于函数:public static Boolean less(Comparable v, Comparable ...原创 2018-09-28 22:49:56 · 143 阅读 · 0 评论 -
算法之归并排序
归并:将俩个有序的数组归并成一个更大的有序数组。很快人们就根据归并的这个操作发明了一种简单的递归排序算法:归并排序。 要将一个数组排序,可以先(递归地)将它分成俩半分别排序,然后将结果归并起来。优点:将任意长度为 N 的数组排序所需时间和 NlogN 成正比;缺点:所需的额外空间和 N 成正比。 原地归并抽象方法:public static void merge(Compar...原创 2018-09-29 01:18:20 · 204 阅读 · 0 评论 -
算法之快速排序
思想:快速排序是一种分治的排序算法。它将一个数组分成两个子数组,将两部分独立地排序。快速排序和归并排序是互补的:归并排序将数组分成两个子数组分别排序,并将有序的子数组归并来使整个数组有序;而快速排序是 当两个子数组都有序时整个数组自然就有序了。 归并排序的递归调用发生在处理整个数组之前,而快速排序的递归调用发生在处理整个数组之后。 快速排序的切分:private stat...原创 2018-10-11 01:19:47 · 131 阅读 · 0 评论