【问题标题】:Determine whether a binary tree is max heap判断二叉树是否为最大堆
【发布时间】:2019-04-07 05:14:11
【问题描述】:

我正在编写一个函数来确定给定的二叉树是否是最大堆。如果二叉树只有一个节点(根),是否会被认为是有效的最大堆?

【问题讨论】:

    标签: data-structures binary-tree heap max-heap


    【解决方案1】:

    要被认为是有效的最大堆,二叉树必须满足两个属性:

    1. 形状属性。树必须是complete binary tree。也就是说,除了最后一个级别之外的每个级别都必须是满的。如果最后一个未满,则为左满。
    2. 堆属性。每个子节点必须小于或等于其父节点。

    具有单个节点的树同时满足这两个属性,因此它是有效的最大堆。

    【讨论】:

      猜你喜欢
      • 2018-06-30
      • 1970-01-01
      • 2013-07-03
      • 2010-10-19
      • 2021-08-01
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 2015-07-21
      相关资源
      最近更新 更多