数据结构
文章平均质量分 90
不正经的蒙娜丽莎
天行健,君子以自强不息
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BFPRT算法详细解析
概念BFPRT算法即是选取中位数的中位数的方式,找出数组n个元素中第k大的数。我们可以根据快速排序得到该值,但是快速排序的平均复杂度为O(nlog(n)),最坏时间复杂度为O(n^2)。而堆排序也是一个较好的方法,维护一个大小为k的堆,时间复杂度为O(nlog(k))。而BFPTR算法。它的最坏时间复杂度为O(n)。⌈⌉ ⌊⌋BFPRT算法原理之前讲过一篇文章关于快速排序文章,我们便继续从那里开始引入。快速排序的大致过程如下:先从序列中选取一个数最为基准数将比这个数大的数全部放到它的右边,把小原创 2020-12-26 09:27:30 · 1493 阅读 · 1 评论 -
详彻快速排序原理分析
归并排序不足之处约翰.冯.诺伊曼(John von Neumann)在1945年提出归并排序,其时间复杂度为(nlogn),但归并排序不是原地排序算法,空间复杂度比较高,是O(n)。所以托尼.霍尔(Tony Hoare)在1961年提出快速排序,最差:O(n²),期望O(nlogn).数组划分原理选取固定位置主元x(如尾元素)维护两个部分的右端点变量i,j考察数组元素A[j],只和主元比较把主元放在中间作分界线 &nb原创 2020-10-01 19:24:38 · 809 阅读 · 0 评论
分享