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 結點的前驅和後繼 結點的前驅 二叉樹中鍵值小於該結點的最大結點。結點的後繼 二叉樹中鍵值大於該結點的最...