了解了解堆排序的順序儲存

2022-06-22 06:57:13 字數 942 閱讀 2734

a:構建乙個堆分為兩步:

1)建立一棵完全二叉樹      2)調整為乙個堆

b:演算法描述:

① 建立一棵完全二叉樹   

② while(有雙親)

c:時間複雜度為 o(nlogn)  ,空間複雜度為 o(1), 是不穩定排序!

/**

* @auther yangchao

* @date 2019/7/31

*//*堆排序思想:【完全二叉樹的定義:前 h-1 層為滿二叉樹,最後一層連續缺失右節點(大根堆公升序排列,小根堆降序排列)】

首先堆是一棵完全二叉樹,根據陣列下標就可建成了一棵完全二叉樹

其次:while(有雙親)

*/public class heapsort ;

//初始化陣列的長度

private static integer length = array.length;

/*** 交換陣列元素

*/private static void swap(int i, int j)

/*** 調整大根堆

*/private static void adjust()

if (2 * parent + 2 < length && array[parent] < array[2 * parent + 1])

parent = parent - 1;}}

}/**

* 堆排序

每天進步一點點,加油,親愛的自己......

帶你了解堆排序

堆排序在八大排序演算法中屬於選擇排序,她利用的是堆這種資料結構來構建的排序演算法,堆分為大頂堆 小頂堆,根節點的數值要麼是最大的,要麼是最小的,堆排序最主要的兩個操作是建堆和調整堆兩個操作。public static void downadjust int array,int parentindex...

堆排序的順序儲存

堆排序順序儲存 公升序 完全二叉樹的概念 前h 1層為滿二叉樹,最後一層連續缺失右結點!首先堆是一棵全完二叉樹 a 構建乙個堆分為兩步 建立一棵完全二叉樹 調整為乙個堆 標註 大根堆為公升序,小根堆為降序 b 演算法描述 建立一棵完全二叉樹 while 有雙親 c 時間複雜度為 o nlogn 空間...

了解了解一下SQLSERVER裡的鬼影記錄

鬼影記錄也叫 幻影記錄 虛影記錄 英文名叫 ghost record 關於 truncate table有沒有使用鬼影記錄的 會出現鬼影記錄的兩種情況 1 聚集索引表 2 使用了快照隔離級別的堆表 為什麼在聚集索引的表裡會出現鬼影記錄,大家知道有聚集索引的表,裡面資料頁會用雙向鍊錶連線起來,如果馬上...