算法-排序
文章平均质量分 79
yanliang1
Java,关心一切新技术
展开
-
冒泡排序 Bubble Sort
时间复杂度为 O(N^2)。虽然冒泡排序与插入排序的时间复杂度 应该避免使用冒泡排序, 重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 public class BubbleSort原创 2013-12-10 09:24:09 · 631 阅读 · 0 评论 -
归并排序 Merge sort
是一种简单的排序方法。时间复杂度为 O(N*logN)。 思想:归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出原创 2013-12-04 22:13:53 · 585 阅读 · 0 评论 -
插入排序 Insertion sort
是一种简单的排序方法。时间复杂度为 O(n^2),即N的平方。在数据量较小的情况下,是比较有效的排序方式。 输入:N个数 输出:输入序列的一个排序 要求 a'1 思想:把序列分为2部分:已排序,未排序。 每次从未排序中取一个数,与已排序中的值比较,插入到合适的位置。 public class InsertSort { public stat原创 2013-12-04 22:14:59 · 447 阅读 · 0 评论