排序算法之堆排序(C++)

堆排序 堆排序: 經過將數組的元素轉化成徹底二叉樹,並將徹底二叉樹轉化爲大頂堆(升序)或者小頂堆(降序),經過循環逐次獲取最大值或最小值達到排序的目的。web 思路 · 升序爲例(大頂堆)數組 將數組轉化成徹底二叉樹,其中最後一個非葉子節點的下標爲 (數組長度/2-1),任意節點(非葉子節點)的左子樹爲2*i+1,右子樹爲2*i+2(i爲數組下標)。 從最後一個非葉子節點往前遍歷,將每一個子樹調整
相關文章
相關標籤/搜索