- 博客(3)
- 收藏
- 关注
原创 算法:归并排序
归并排序归并排序算法基于归并这个简单的操作,即将两个有序的数组归并成一个更大的有序数组。要将一个数组排序,可以先(递归地)将它分成两半分别排序,然后将结果归并起来。归并排序最吸引人的性质是它能够保证将任意长度为N的数组排序所需时间和NlogN成正比;它的主要缺点则是它所需的额外空间和N成正比。原地归并的抽象方法public static void merge(Comparable[] a, ...
2019-08-07 13:33:19 141
原创 算法:希尔排序
希尔排序希尔排序是一种基于插入排序的快速排序算法。对于大规模乱序数组插入排序很慢,因为它只会交换相邻的元素,因此元素只能一点一点的从数据的一段移动到另一端。例如,如果数据最小的元素正好在数据的尽头,要将它挪到正确的位置就需要移动N-1次。希尔排序为了加快速度简单地改进了插入排序,交换了不相邻的元素以对数据的局部进行排序,并最终用插入排序将局部有序的数组排序。希尔排序的思想是使数组中任意间隔为h...
2019-08-03 14:52:48 361
原创 算法:插入排序
插入排序通常人们整理桥牌的方法是一张一张来,将每一张牌插入到其它已经有序的牌中的位置。在计算机的实验中,为了给要插入的元素腾出空间,我们需要将其余所有元素在插入之前都向右移动一位。这种算法叫做插入排序。与选择排序一样,当前索引左边的所有元素都是有序的,但它们的最终位置还不确定,为了给更小的元素腾出空间,它们可能会被移动。但是当索引到达数组的右端时,数组排序就完成了。sort为核心方法,按升序...
2019-08-03 13:33:14 116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人