我有一个问题,我相信我理解,但正在寻找一些核实。我知道,为了成为一个最小堆,子堆必须大于父堆,而要成为最大堆,父堆必须大于子堆。如果是,这是否对下列问题的有效回答:
创建一个包含5个元素的数组,即最大堆,但其反向不是最小堆。
A= 100、50、49、40、41
100
| |
50 49
| |
40 41 所以,只要验证一下,如果我把这棵树作为一个最小的堆来读,我会读到40,41,50,49,100?谢谢-这让我很困惑,任何对堆的洞察力都会很棒!
发布于 2018-03-15 02:52:03
简单的反例:
假设A = [10 7 3 6 5] -数组是有效的max-堆。
10
| |
7 3
| |
6 5 但是反向B = [5 6 3 7 10]不是最小堆。
因此,并不是所有的max堆数组都是平均堆。
https://stackoverflow.com/questions/49290408
复制相似问题