原创 堆排序 HeapSort的C實現

堆的結構與特性 堆排序,是通過想象一種類似二叉樹結構的數組而來對數據進行排序的算法,這種堆也叫二叉堆。二叉堆中的數據排列可以想象成從頂端開始,逐層遍歷一個完全二叉樹得到的結果。 與完全二叉樹相同,高度爲h的二叉堆允許且只允許在第h層的最右

原创 歸併排序MergeSort的C實現

歸併排序作爲最經典的分治算法之一,本質是利用遞歸把問題分解至最小子問題(即將原數組分解爲只有單個元素的子數組),然後遞歸開始“回升”,每一層回升都是在合併兩個有序數組(依次從兩個數組的頭部取出較小的元素放入目標數組,某一組全部取出後即可直接