二叉最大堆的中位数总是叶节点吗?

Is the median of a binary max-heap always a leaf node?

如果我有一个二叉最大堆(一个几乎完整的带有最大堆的二叉树 属性),那么中位数是否总是一个叶节点?我找到了一些这样的例子,但还没有找到反例——尽管到目前为止这还不足以让我正式证明它。

即对于值集 {1,2,3,4,5},其中中值为 [3],树将是:

    5  
   / \
  4   [3]
 / \
2   1

所以在这种情况下,中位数是叶节点。

不,它并不总是叶节点。您可以轻松地重新排列示例来证明这一点。另一个使用相同项目的有效最大堆是:

    5  
   / \
 [3]  4
 / \
2   1

考虑 7 个项目的完整最大堆:

       7
   6     [4]
 1   5  3   2

这是一个有效的最大堆。最大的项目在根,所有的子节点都小于它们的父节点。

从这两个例子应该很清楚,你不能假设堆中的中位数总是叶节点。