中位数排序

第i个顺序统计量 ( o r d e r   s t a t i s t i c ) (order\ statistic) (order statistic)是n元素集合中最小 的元素。最小元素的顺序统计量是1,最大是n。

中位数(median)是所属集合的中点元素。

当n为奇数时,中位数唯一,位于 i = ( n − 1 ) / 2 i=(n-1)/2 i=(n1)/2处,当n为偶数时,存在两个中位数。分别在 n / 2 n/2 n/2 n / 2 + 1 n/2+1 n/2+1的位置。如果不考虑数的奇偶性,最小的中位数出现在 ⌊ ( n + 1 ) / 2 ⌋ \lfloor(n+1)/2 \rfloor (n+1)/2,最大的在(you know who)

  • 这一章讨论的集合中元素都是互异的,但实际上可以推广到一般情况。
    在这里插入图片描述

我们可以在 O ( n l g n ) O(nlgn) O(nlgn)时间内解决这个问题,因为我们可以用堆排序或归并排序对输入数据进行排序。

最小值和最大值

  • 为了确定一组n个元素的数据中哪个值最小。我们看可以简单地给出n-1次比较这个上界
    在这里插入图片描述

  • 尽管很简单,但这种方法确实是最优的

  • 同时得到最小值和最大值的需要最多 3 ⌊ n / 2 ⌋ 3\lfloor n/2 \rfloor 3n/2,操作方法为每次输入一对元素,两个比较,小的跟最小的比,大的跟最大的比

  • 如果元素个数为奇数将最大最小值设置为第一个元素所在的值,如果为偶数,则直接开始第一对的比较。

在这里插入图片描述

期望为线性时间的选择算法

类似于快速排序的分治算法,区别在于:快速排序的期望运行时间是 θ ( n l g n ) \theta(nlgn) θ(nlgn),而 R A N D O M S I Z E D − S E L E C T RANDOMSIZED-SELECT RANDOMSIZEDSELECT的期望时间为 θ ( n ) \theta(n) θ(n)

在这里插入图片描述

  • 不允许递归调用含有0个元素的子数组

在这里插入图片描述

、、、、、、、、、、、、
好久没更新,主要是写好了懒得上传,csdn这破机制,图片插入贼麻烦,而且我自己记笔记的习惯也懒得分开提交,其实下一章整个都完事了,
在这里插入图片描述
这咋提交啊。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值