标签: algorithm heapsort insertion-sort
是否可以在heapsort中使用插入排序来替换其交换或交换方法?
通常交换至少需要3个步骤:
temp = a a = b b = temp
我的一位朋友说,可以使用插入排序来减少交换到一个操作而不是三个操作。是吗?
答案 0 :(得分:2)
我认为他的意思可能是当你在堆中向下(或向上)一个元素时,你不会存储该元素,直到找到它应该去的地方。因此,每个交换只有一个操作:将较小的元素存储在堆中的新位置。当您将元素移动到数组开头的排序位置时,该过程类似于插入排序中的过程。