>提取51元素的中位数,包括将51分成25的H(ead)组,然后是中位数,然后是25的T(ail)。我所知道的所有算法最终都有一个附加属性,即 H 和 T 是这样的 [min(H)、max(H)[ 和 ]min(T)、max(T)] 不重叠。
这个额外的属性被证明是强制性的(我想是的)?我在哪里可以找到证据(我想它已经做了很长时间)?
(这只是为了对算法的热爱)
如果元素不是唯一的,那么这两个集合实际上可以重叠(想象一个包含 51 个相同元素的列表......
如果元素是唯一的,那么非重叠属性很容易通过矛盾来证明。从独特元素的划分中,我们有:
- x
- y
- > H 中所有 y 的中位数
假设 H 和 T 确实重叠。然后我们有:
- x>= y 对于某些 x=max(H), y=min(T)
但这意味着:
- x>= y>中位数
这是一个矛盾,因为我们知道x<中位数。因此,这两组不能重叠。>