2011-10-05 135 views
0

是否可以在heapsort中使用插入排序來替換其交換或交換方法?使用插入排序的堆排序?

通常交換requres以最低的3個步驟:

temp = a 
a = b 
b = temp 

我的一個朋友說,這是可以使用插入排序的調劑減少到一個操作,而不是三個。是嗎?

回答

2

我認爲他的意思可能是,當你在堆中篩選(或上傳)一個元素時,你不會存儲該元素,直到找到它應該去的地方。因此,每個交換隻有一個操作:將較小的元素存儲在堆中的新位置。當將元素移動到數組開頭的排序位置時,該過程類似於插入排序中的過程。