如何证明heapsort重复之前所做的比较? (即它会执行先前已完成的比较) 感谢
答案 0 :(得分:1)
这两个元素可以在构建堆步骤(heapify)中进行比较,也可以在堆排序中进行重新排序步骤。这是the wiki。
例如,按max-heap排序:
heapify
到shift-up
的新堆数组
比较:4< 6,6< 10,4< 7,6< 8< 6>
(10)(7 8)(4 3 6 5)//每个层按括号分组shift-down
因为,在heapify
基于元素顺序的比较中。在heapify
之后,订单可能也没有排序。所以可能还有其他的比较。