
算法
算法的理解
a200810010101
这个作者很懒,什么都没留下…
展开
-
希尔排序
希尔排序是对于插入排序的一种改进算法 它的思想是使数组中任意间隔为h的元素都是有序的,这样的数组被称为h有序数组。 在进行排序时,如果h很大,我们就能将元素移动到很远的地方,为实现更小的h有序创造方便。用这种方式,对于任意以1结尾的h序列,我们都能够将数组排序,这就是希尔排序. 希尔排序的难点在于h(递增序列)的选择。 public class Shell { public static void...原创 2020-04-01 22:40:51 · 87 阅读 · 0 评论 -
插入排序
插入排序指的是,对于一个数组来说,当前n个数据是有序的,对于第n+1元素来说,要将插入到前n元素中,要通过元素比较,从后向前依次比较。 重复执行比较,直到最后一个元素。 实现如下: public class Insertion { public static void sort(Comparable[] a) { int n = a.length; for (int i = 1; ...原创 2020-03-31 21:53:24 · 95 阅读 · 0 评论 -
选择排序算法
原理: 首先,找到数组中最小的那个元素,其次,将它和第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,知道将整个数组排序。这种方法叫做选择排序,因为它在不断地选择剩余元素之中的最小者。 实现如下: public class Selection { public static void sort(Comp...原创 2020-03-31 21:34:50 · 68 阅读 · 0 评论