将以下数字按给定顺序插入最初为空的最小堆时,请在每个阶段显示堆:{11,17,13,4,1 }
。现在,在我们连续对堆执行deleteMin操作直到其为空之前,在每个阶段显示堆。
这是我收到的答案/检查点:
![1]https://imgur.com/zu47RIF
我有两个问题:
-
我不知道何时第二次插入元素
4
,为什么我们要移动11
使其成为旧元素/首先插入的元素{{1 }}?是否因为我们要满足完整二叉树的要求,即从4
到1
级别中的每个节点都恰好有2个子级(k =树的级别,级别k是最底层)? -
我不知道我们如何
k - 2
,deleteMin = 1
成为新父母13
的右孩子(11
的左孩子) 。请注意,我的老师给了全班2种deleteMin方法。另一种方式对我来说很好-这只是插入的相反过程。