堆的定義 特點及實現

2021-10-10 06:47:24 字數 1129 閱讀 8350

一棵完全二叉樹的陣列物件。

是完全二叉樹;

用陣列實現:將二叉樹的結點按層級順序放入陣列,根節點在位置1,它的子節點在位置2和3,子節點的子節點在4、5、6、7,以此類推;

每個結點大於等於它的兩個子結點。

public

class

heap

comparable

>

//往堆中插入乙個元素

public

void

insert

(t t)

//使用上浮演算法,使索引k處的元素能在堆中處於乙個正確的位置

private

void

swim

(int k)

else

k = k/2;

}}//刪除堆中最大的元素,並返回這個最大元素

public t delmax()

//使用下沉演算法,使索引k處的元素能在堆中處於乙個正確的位置

private

void

sink

(int k)

else

}else

//比較當前結點和較大結點的值if(

!less

(k, max)

)//交換k索引處的值和max索引處的值

exch

(k, max)

;//變換k的值

k = max;}}

//判斷堆中索引i處的元素是否小於索引j處的元素

private

boolean

less

(int i,

int j)

//交換堆中i索引和j索引處的值

private

void

exch

(int i,

int j)

public

static

void

main

(string[

] args)

}}

g,f,e,d,c,b,a,

1 軟體的定義及特點

計算機系統中的程式及其文件。程式是計算任務的處理物件和處理規則的描述 文件是為了便於了解程式所需的闡明性資料。軟體是無形的 不可見的邏輯實體 軟體是設計開發的,而不是生產製造的 軟體在使用過程中沒有磨損 老化問題 軟體是定製開發的 軟體是複雜的 軟體開發成本高 軟體易於複製 軟體質量要求較高 軟體的...

資料倉儲的定義及特點

目前,大家公認的資料倉儲創始人william h inmon 在他所著的 建立資料倉儲 一書中對資料倉儲所下的定義是 資料倉儲是在企業管理和決策中面向主題的 整合的 不可更新的 隨時間不斷變化的資料集合。由這個定義可以看出資料倉儲主要有以下四個特點 面向主題 主題是在乙個較高層次上將資料進行綜合 歸...

樹的定義 特點及相關術語

樹是由n n 0 個有限結點組成的乙個具有層次關係的集合。n 0時為空樹。乙個結點含有的子樹的個數。樹中所有結點的度的最大值。度為0的結點。度不為0的結點。根結點層次為1,根的直接後繼層次為2,依次類推。樹中結點的最大層次。將樹中的結點,按照從上層到下層,同層從左到右的次序排成乙個線性序列,把他們編...