資料結構與演算法分析 二叉查詢樹

2021-10-07 05:46:31 字數 1497 閱讀 7218

class

binarysearchtree

comparable

<

?super anytype>>

//節點初始化:建立乙個有兩個子樹的節點

binarynode

(anytype theelement, binarynode

left, binarynode

right)

}//宣告根節點

private binarynode

root;

//初始化二叉查詢樹

public

binarysearchtree()

//makeempty方法

public

void

makeempty()

//isempty方法

public

boolean

isempty()

//contains 方法

public

boolean

contains

(anytype x)

private

boolean

contains

(anytype x, binarynode

p)//findmin方法:使用遞迴

public anytype findmin()

private binarynode

findmin

(binarynode

p)//findmax方法:使用迴圈

public anytype findmax()

private binarynode

findmax

(binarynode

p)//insert方法

public

void

insert

(anytype x)

private binarynode

insert

(anytype x, binarynode

p)//remove方法

public

void

remove

(anytype x)

private binarynode

remove

(anytype x, binarynode

p)else

p =(p.left != null )

? p.left : p.right;

return p;

}//printtree方法

public

void

printtree()

private

void

printtree

(binarynode

p)//採用遞迴,字串緩衝區不能遞迴

}//height方法

private

intheight

(binarynode

p)}

資料結構與演算法分析 二叉查詢樹

include include define elementtype int 節點資料型別 typedef struct treenode position typedef struct treenode searchtree struct treenode typedef struct treen...

資料結構與演算法 二叉查詢樹

1.建立bst樹 往bst樹中新增節點 公開的介面函式 param node 需要新增到bst樹的那個節點 public void add treenode node else 隱藏的函式,add方法的具體實現 param parent bst樹 或者子樹 的根節點 param child 要插入b...

《資料結構與演算法 二叉查詢樹》

二叉查詢樹 binary search tree 也被稱作二叉搜尋樹。設x是二叉查詢樹中的任意乙個結點,則x的鍵值大於等於它的左子樹中任意乙個結點的鍵值,小於等於它的右子樹中任意乙個結點的鍵值。1 結點的前驅和後繼 結點的前驅 二叉樹中鍵值小於該結點的最大結點。結點的後繼 二叉樹中鍵值大於該結點的最...