考研資料結構 MaxHeap

2021-08-04 04:40:47 字數 640 閱讀 4149

原理

這裡我們建立的是最大堆,用完全二叉樹來表示這個堆;

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...

考研資料結構 排序

人生哪有最好,把每乙個當下做到最好,就很不錯了呀。以下以考試主要考查的重點內容為主體,講述過程以方便大家記憶為上,並不面面俱到。首先得知道排序分內部排序和外部排序。內部排序 排序整個過程中資料在記憶體中。外部排序 排序整個過程中資料會有出現在內 外存之間調動的情況。考研主要考內部排序。內部排序主要分...