八大排序算法之堆排序算法(JAVA)

堆排序(Heap Sort) 堆: 首先堆是一種數據結構,是一棵完全二叉樹並且滿足所有非葉子結點的值均不大於或均不小於其左、右孩子結點的值。分爲 小根堆 和 大根堆 。 基本思想: 1、將待排序的序列構造成一個大根堆(或小根堆)。 2、此時,整個序列的最大值就是堆頂的根結點。將它移走(就是將其與堆數組的末尾元素交換,此時末尾元素就是最大值)。 3、然後將剩餘的n-1個序列重新構造成一個堆,這樣就會
相關文章
相關標籤/搜索