堆排序法(Java & C/C++ 實現)

一、前言 堆排序是利用堆這種數據結構而設計的一種排序算法。時間複雜度爲 O(n * lg n)。 介紹堆排序前,我們先介紹一下堆的相關概念,如果你對堆的概念還不熟悉的話可以看看。   二、堆 1. 示意圖 2. 性質 除最底層外,該樹是完全充滿的,且是從左到右填充。 樹的根結點是 A[ 1 ],若某一結點下標爲 i,則很容易得到它的父節點爲 i/2,左子結點爲 2i,右子結點爲 2i + 1。 注
相關文章
相關標籤/搜索