我们能否证明导出中位数的算法必须对集合进行分区



>提取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<中位数。因此,这两组不能重叠。>

相关内容

  • 没有找到相关文章

最新更新