Sort
文章平均质量分 73
Zachary1994
这个作者很懒,什么都没留下…
展开
-
排序算法(Java语言)——快速排序
在Java中,快速排序用作基本类型的标准库排序。顾名思义,快速排序quicksort是实践中的一种快速的排序算法,在C++或Java基本类型的排序中特别有用。它的平均运行时间是O(NlogN)。该算法之所以特别快,主要是由于非常精练和高度优化的内部排序。它的最坏情形性能为O(N^2),但经过稍许努力可使这种情况极难出现。原创 2015-09-01 23:49:21 · 768 阅读 · 0 评论 -
排序算法(Java语言)——希尔排序
希尔排序Shellsort的名称源于它的发明者Donald Shell,该算法是冲破二次时间屏障的第一批算法之一,不过,直到它最初被发现的若干年后才证明了它的亚二次时间界。它通过比较相距一定间隔的元素来工作;各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟排序为止。由于这个原因,希尔排序有时也叫做缩减增量排序(diminishing increment sort)。原创 2015-08-20 21:05:56 · 631 阅读 · 0 评论 -
排序算法(Java语言)——归并排序
归并排序mergesort中基本的操作是合并两个已排序的表。因为这两个表已排序,所以若将输出放到第三个表中,则该算法可以通过对输入数据一趟排序完成。基本的合并算法是取两个输入数组A和B,一个输出数组C,以及3个计数器Actr、Bctr、Cctr,他们初始置于对应数组的开始端。A[Actr]和B[Bctr]中的较小者被拷贝到C的下一个位置,相关的计数器向前推进一步。当两个输入表有一个用完的时候,则将原创 2015-08-21 20:48:07 · 618 阅读 · 0 评论