一个数组是最大堆,但其反向不是最小堆?
An array that is a max heap, but whose reverse is not a min heap?
我有一个我认为我理解的问题,但正在寻找一些验证。我知道要成为最小堆,子堆必须大于父堆,而要成为最大堆,父堆必须大于子堆。如果是这样,这是否是对以下问题的有效答案:
创建一个有5个元素的数组,即最大堆,但其反向不是最小堆。
A = [100, 50, 49, 40, 41]
100
| |
50 49
| |
40 41
所以,只是验证一下,如果我将这棵树读作最小堆,我会读到 40、41、50、49、100?谢谢 - 这让我感到困惑,对 Heaps 的任何见解都会很棒!
简单的反例:
考虑 A = [10 7 3 6 5]
- 数组有效 max-heap。
10
| |
7 3
| |
6 5
但是反向B = [5 6 3 7 10]
不是min-heap
所以并非所有 max-heap 数组的反转都是 mean-heaps
我有一个我认为我理解的问题,但正在寻找一些验证。我知道要成为最小堆,子堆必须大于父堆,而要成为最大堆,父堆必须大于子堆。如果是这样,这是否是对以下问题的有效答案:
创建一个有5个元素的数组,即最大堆,但其反向不是最小堆。
A = [100, 50, 49, 40, 41]
100
| |
50 49
| |
40 41
所以,只是验证一下,如果我将这棵树读作最小堆,我会读到 40、41、50、49、100?谢谢 - 这让我感到困惑,对 Heaps 的任何见解都会很棒!
简单的反例:
考虑 A = [10 7 3 6 5]
- 数组有效 max-heap。
10
| |
7 3
| |
6 5
但是反向B = [5 6 3 7 10]
不是min-heap
所以并非所有 max-heap 数组的反转都是 mean-heaps