![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
八大排序
java实现八大排序
残·影
大多数内容都是看视频做的笔记,侵删
展开
-
归并排序
归并排序(Merge Sort) 和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是O(n log n)的时间复杂度。代价是需要额外的内存空间。 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。 算法描述 把长度为n的输入序列分成两个原创 2020-05-21 19:48:57 · 10732 阅读 · 0 评论 -
快速排序
快速排序 快速排序是不稳定的排序 排序最快的时间复杂度n*log(n),基本上每种排序都是优化排序的次数,每一次确定一个数都是O(n)级别,但是排序的次数各种排序算法是不一样的 功能描述: 快速排序的优化在于如何选择基准数 每次选一个基准数(默认是第一个), 把小于基准数的数据放到左边子数组,大于基准数的数据放到右边子数组,然后分别对左右子数组进行递归操作 第一次排好一个数 第二次排好三个数 第三次排好七个数 依次类推每次确定的数的个数是以指数增长的, 快速排序的优化: 一、三数取中法,解决数据基本有原创 2020-05-21 19:39:22 · 10666 阅读 · 0 评论