堆排序的Java實現(用最大堆實現從小到大排序)

堆排序原理和示意圖很少說了,網上各類有。總結下其最核心的思想:java (1)自底向上,自右向左遍歷建堆。這裏的底不是指最後一個節點,而是最後一個非葉子節點。每一個非葉子節點與其左兒子與右兒子(假若有的話)相比,若是父節點小,那麼將左右兒子中較大的那個與父節點交換,而後遞歸調整被交換的兒子所在的子樹,讓其繼續知足堆性質。算法 (2)自頂向下調整,使得整個二叉樹和其任意子樹都知足堆特性。內容和上面建
相關文章
相關標籤/搜索