原理
這裡我們建立的是最大堆,用完全二叉樹來表示這個堆;1. 堆頂比兩棵子樹中的任何元素都要大;
2. 每棵子樹同樣滿足這個條件;
即根是樹中最大值,每棵子樹的根是子樹中的最大值
所以我們在構造的時候要先從最小的子樹開始構造,這樣才能構造更大的子樹
/*
* 建立大頂堆,a[1]為最大元素
*/typedef struct
/*將第k個元素向下調整*/
void ajustdown(int a, int k, int
len)
a[k] = temp;
}/*把第k個元素向上調整*/
void ajustup(int a, int k)
a[k] = temp;
}/*插入元素*/
void insertelement(int a, int& len, int value)
/*刪除第k個元素*/
int deleteelement(int a, int& len, int k)
}maxheap;
JAVA資料結構之MaxHeap
public class maxheap publi maxheap e arr 返回堆中的元素個數 public intsize 返回乙個boolean值,判斷堆是否為空 public boolean isempty 返回完全二叉樹的陣列表示中,乙個索引所表示的元素的父親節點的索引 private...
考研資料結構
一 考研中的變數型別 1 基本型別 int float char 2 指標型別 3 結構體型 陣列,結構體 4 void型 考研中 定義無返回值函式。二 控制語句 1 判斷語句if 做決策 2 迴圈語句 做重複的事 for while 講講break與continue break結束整個迴圈 con...
考研資料結構 排序
人生哪有最好,把每乙個當下做到最好,就很不錯了呀。以下以考試主要考查的重點內容為主體,講述過程以方便大家記憶為上,並不面面俱到。首先得知道排序分內部排序和外部排序。內部排序 排序整個過程中資料在記憶體中。外部排序 排序整個過程中資料會有出現在內 外存之間調動的情況。考研主要考內部排序。內部排序主要分...