JAVA資料結構之MaxHeap

2021-08-25 19:25:40 字數 978 閱讀 3253

public

class maxheap>

publi maxheap(e arr)

}//返回堆中的元素個數

public

intsize()

//返回乙個boolean值,判斷堆是否為空

public boolean isempty()

//返回完全二叉樹的陣列表示中,乙個索引所表示的元素的父親節點的索引

private

intparent (int index)

return (index - 1)/2;

}// 返回完全二叉樹的陣列表示中,乙個索引所表示的元素的左孩子節點的索引

private

intleftchild(int index)

// 返回完全二叉樹的陣列表示中,乙個索引所表示的元素的右孩子節點的索引

private

intrightchild(int index)

//向堆中新增新的元素

public

void

add(e e)

//元素上浮

private

void

siftup(int k)

}public e findmax()

return data.get(0);

}//取出堆中最大元素

public e extractmax()

private

void

siftdown(int k)

//如果滿足堆性質

if (data.get(k).compareto(data.get(j)) >= 0)

data.swap(k, j);

k = j;

}//取出堆頂元素,並且替換成元素

public e replace(e e)

}}//add和extractmax時間複雜度都是o(logn )

JAVA之資料結構

知識點總結 一 陣列 宣告 object arr new object 長度 object arr object arr new object 賦值 arr 下標 值 獲取陣列長度 arr 下標 值 取值 arr 下標 普通for迴圈遍歷for int i 0 i二 集合 特點 可變長度。colle...

java資料結構之Bitset

這是一種位集合,操作一組布林值的時候可以通過 或or,與and,異或xor 等方法快速改變其組內某一部分值 bitset bits1 new bitset 10 bitset bits2 new bitset 10 for int i 1 i 21 i if i 3 0 else continue ...

java資料結構之陣列

首先定義乙個陣列類class myarray 空參構造時預設是長度為3的陣列 public myarray int maxsize 有參構造時引數為陣列長度 接下來是對陣列的插入 public void insert int a 然後是對陣列的刪除 public void delete int in...