
排序
uweii
悟已往之不谏
知来者之可追
展开
-
排序
根据在排序过程中待排序的记录是否全部被放置在内存中,排序分为:内排序 和 外排序。内排序是在排序整个过程中,待排序的所有记录全部被放置在 内存中。外排序 是 由于排序的 记录个数太多,不能同时放在内存,整个排序过程需要在 内外存 之间多次交换数据才能进行。排序算法的性能主要受 3个方面影响:1.时间性能2.辅助空间3.算法的复杂性根据排序过程中借助的主要操作,我们把内排序分为:插入排序,选择排序...原创 2018-04-11 09:46:58 · 160 阅读 · 0 评论 -
冒泡排序
冒泡排序(Bubble Sort)一种 交换排序,它的基本思想是:两两比较相邻记录关键字,如果反序则交换,直到没有反序的记录为止。java代码实现:public static void bubble_sort(int[] arr) { for(int i = 0; i < arr.length; i ++) { for(int j = arr.length-2; j>...原创 2018-04-11 10:12:31 · 167 阅读 · 0 评论 -
简单选择排序
简单选择排序(Simple Selection Sort)就是通过 n-i 次关键字的比较,从 n-i+1 个记录中选出关键字最小的记录,并和第 i (1<= i <= n)个记录交换之。java代码实现:public static void Select_Sort(int[] arr) { int min; //记录第i次循环的最小值 for(int i = 0; i &...原创 2018-04-11 10:39:15 · 359 阅读 · 0 评论 -
直接插入排序
直接插入排序(Straight Insertion Sort)的基本操作是 将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表。java实现:public static void Insert_Sort(int[] arr) { for(int i = 1; i < arr.length; i ++) { int j,temp; if(arr[i...原创 2018-04-11 13:04:54 · 161 阅读 · 0 评论 -
希尔排序
这篇用到直接插入排序,建议先阅读上一篇:直接插入排序算法希尔排序(Shell's Sort)是插入排序的一种 “缩小增量排序”,直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因D.L.Shell于1959年提出而得名。希尔排序是把记录按下标的一定分量分组,对每组使用 直接插入算法排序 ;随着增量逐渐减小,每组包含的关键词越来越多,当增量减至 1 的时候,整个文件恰被分成一...原创 2018-04-11 14:38:05 · 185 阅读 · 0 评论 -
堆排序
堆是具有下列性质的完全二叉树:每个节点的值都大于或等于其左右孩子节点的值,称为大顶堆;或每个节点的值都小于或等于其左右孩子节点的值,称为小顶堆。堆排序(Heap Sort)就是利用堆(假设利用大顶堆)进行排序的方法。它的基本思想是,将待排序的序列构造成一个大顶堆。此时,整个序列的最大值就是堆顶的根节点。将它移走(其实就是将其与堆数组末尾元素交换,此时末尾元素就是最大值),然后将剩余的 n-1 个序...原创 2018-04-11 17:04:30 · 169 阅读 · 0 评论 -
归并排序
归并排序(Merging Sort)就是利用归并的思想实现的排序方法。它的原理是 假设初始序列含有 n 个记录,则可以看成是 n 个有序的子序列,每个子序列的长度为 1,然后两两归并,得到 [n/2] ( [x]表示不小于 x 的最小整数 ) 个长度为 2 或 为 1 的有序子序列;两两归并,……,如此重复,直到得到一个长度为 n 的有序序列为止,这种排序方法称为 2路归并排序。java实现:pu...原创 2018-04-11 20:17:21 · 160 阅读 · 0 评论 -
快速排序
快速排序(Quick Sort)的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的。java实现:public static void Quick_Sort(int[] arr) { QSort(arr, 0, arr.length-1); } public static void...原创 2018-04-11 21:09:36 · 195 阅读 · 0 评论 -
常用7种排序算法java实现
前面已经把七种排序算法用java实现,也分析了时间复杂度。这篇是将7种排序方法综合到一个类里,便于快速复习。可以参考我前面的七篇:点击打开链接public class SortClass { //==========================冒泡排序========================// public static void bubble_sort(int[] arr) ...原创 2018-04-12 10:34:23 · 295 阅读 · 0 评论