Java 这就是minheap的排序方式吗?
我的教授声称我的Minheap在以下问题上是错误的: 使用minheap down将以下数字转换为minheap,并逐级绘制最终的minheap树和最终数组内容 给定阵列:100 10 80 30 60 50 40 70 20 90 我的答覆如下:Java 这就是minheap的排序方式吗?,java,Java,我的教授声称我的Minheap在以下问题上是错误的: 使用minheap down将以下数字转换为minheap,并逐级绘制最终的minheap树和最终数组内容 给定阵列:100 10 80 30 60 50 40 70 20 90 我的答覆如下: 10 / \ 20 40 / \ / \
10
/ \
20 40
/ \ / \
30 60 80 50
/\ /
100 70 90
排序数组:10,20,40,30,60,80,50100,70,90
我错了吗?最小堆是一个完整的二叉树,其中每个内部节点中的值小于或等于该节点子节点中的值。 将堆的元素映射到数组非常简单:如果一个节点存储在索引k中,那么它的左子节点存储在索引2k+1中,右子节点存储在索引2k+2中 你的答案是对的你错过了70和100这是错误的否则它是正确的 排序后的数组将被删除 10,20,40,30,60,50,80,70100,90
最小堆是一个完整的二叉树,其中每个内部节点中的值小于或等于该节点子节点中的值。 将堆的元素映射到数组非常简单:如果一个节点存储在索引k中,那么它的左子节点存储在索引2k+1中,右子节点存储在索引2k+2中 你的答案是对的你错过了70和100这是错误的否则它是正确的 排序后的数组将被删除 10,20,40,30,60,50,80,70100,90