十大排序算法-------【堆排序】詳解(Java源碼)

堆排序是指利用堆這種數據結構所設計的一種排序算法。堆積是一個近似完全二叉樹的結構,並且同時滿足堆積的性質:即子節點的鍵值或者索引總數小於(或者大於)它的父節點。 算法描述 將初始待排序的序列構建成爲大頂堆,此堆爲初始的無序區; 將堆頂元素R[1]與最後一個元素R[n]交換,此時得到新的無序區(R1,R2,…Rn-1)和新的有序區(Rn),且滿足R[1,2,…n-1]<=R[n]; 由於交換後新的堆
相關文章
相關標籤/搜索