排序

Java归并排序(Merge Sort)

Java归并排序(Merge Sort)归并排序(MergeSort)是建立在归并操作上的一种有效的稳定的排序算法,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。归并排序将两个有序的子序列合并得到一个完全有序的……

Java快速排序(Quick Sort)

Java快速排序(Quick Sort)快速排序(QuickSort)是基于二分思想,对冒泡排序的一种改进。主要思想是确立一个基数,将小于基数的数字放到基数的左边,大于基数的数字放到基数的右边,然后再对这两部分数字进一步排序,从而实现对数组……

Java冒泡排序(Bubble Sort)

Java冒泡排序(Bubble Sort)1.冒泡排序冒泡排序(BubbleSort)是编程中较简单的一种排序算法。它重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误,就把它们交换过来。重复地进行走访数列的工作直到没有再需要交换的……

Java Arrays.sort()方法详解

Java Arrays.sort()方法详解该方法是Arrays类的静态方法,用于对数组进行排序,时间复杂度O(n*logn),方法返回值为void。排序后,数组中存放的是排序后的结果。由于该方法是在原来数组的空间基础上进行升序排序,因此不需要……

各种排序算法总结

各种排序算法总结1. 排序汇总 类别排序方法时间复杂度空间复杂度稳定性平均情况最好情况最坏情况插入排序直接插入O(n^2)O(n)O(n^2)O(1)稳定希尔排序O(n^2)O(n……

快速排序算法实例详解

快速排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(nlogn)平均情况:O(nlogn) 稳定性:不稳定排序2.过程介绍快速排序是考察次数最多的排序,无论是在大学专……

归并排序算法实例详解

归并排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况O(NlogN)最好情况O(NlogN)平均情况O(NlogN) 空间复杂度O(N) 注:归并排序需要创建一个与原数组相同长……

堆排序算法实例详解

堆排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n) 平均情况:O(nlogn)稳定性:不稳定排序2.什么是堆?堆排序是一个比较特殊的排序方式,在学习之前我们必须……

希尔排序算法实例详解

希尔排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n)平均情况:O(n^2) 稳定性:不稳定排序2.过程介绍希尔排序,又名递减增量排序算法,是一种非稳定的更高效的插……

直接插入排序算法实例详解

直接插入排序算法实例详解1.复杂度与稳定性最坏情况:O(N^2)最好情况:O(N^2)平均情况:O(N^2) 稳定性:稳定排序2.过程介绍直接插入排序是把新的数据插入以及排序好的数列中,排序的基本方法是:每……