![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
GZhan1993
这个作者很懒,什么都没留下…
展开
-
java实现简单的排序算法:冒泡排序、选择排序、插入排序
冒泡排序 思想:依次比较相邻的两个数,将小数放在前面,大数放在后面。 package SortTest;import java.util.Scanner;public class BubbleSort { /** * 冒泡排序(时间复杂度为O(n2)) * @param args */ public static void main(String[] ar原创 2016-08-21 15:04:08 · 337 阅读 · 0 评论 -
java实现简单排序算法:堆排序
构建一个大顶堆。 依次获取大顶堆的第一个元素,即当前未排序子序列中最大元素。 注意:沿关键字较大的孩子节点向下筛选,防止调换后破坏较大孩子 节点的结构(较大孩子节点大于自身左右子节点) package SortTest;import java.util.Scanner;public class HeapSort { /** * 堆排序 * @param args原创 2016-08-22 23:26:23 · 266 阅读 · 0 评论 -
java实现简单排序算法:归并排序
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 归并过程为:比较a[i]和a[j]的大小,若a[i]≤a[j],则将第一个有序表中的元素a[i]复制到r[k]中,并令原创 2016-08-23 20:47:23 · 329 阅读 · 0 评论 -
java实现简单排序算法:快速排序
基本思想是:通过一趟排序将要排序的数据分割成独立的两部分, 其中一部分的所有数据都比另外一部分的所有数据都要 小,然后再按此方法对这两部分数据分别进行快速排序, 整个排序过程可以递归进行,以此达到整个数据变成有序序列。 快速排序的最坏时间为O(n2),但就平均性能而言,它是基于关键字比较的内部排序算原创 2016-08-23 20:35:41 · 489 阅读 · 0 评论 -
java实现简单排序算法:希尔排序
基本思想:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2package SortTest;import java.util.Scanner;public class shellSort { /** * 希尔排序 * * @param args *原创 2016-08-23 20:58:55 · 290 阅读 · 0 评论