二叉查詢樹演算法

2021-09-26 02:21:21 字數 2108 閱讀 9588

/**

* 判斷二插查詢樹是否含有 指定結點

* @param x

* @return

*/public

boolean

contains

(t x)

private

boolean

contains

(t x , binarynode

t)int compareresult = x.

compareto

(t.element);if

(compareresult<0)

else

if(compareresult>0)

else

return

true

;}

/**

* 查詢最小結點

* @return

*/public t findmin()

private binarynode

findmin

(binarynode

t)if

(t.left == null)

else

return

findmin

(t.left)

;}

/**

* 查詢最大結點

* @return

*/public t findmax()

private binarynode

findmax

(binarynode

t)while

(t.right!=null)

return t;

}

/**

* 二叉查詢樹插入操作

* @param x

*/public

void

insert

(t x)

private binarynode

insert

(t x ,binarynode

t)int compareresult = x.

compareto

(t.element);if

(compareresult<0)

else

if(compareresult>0)

else

;return t;

}

/**

* 二叉查詢樹的刪除

* @param x

*/public

void

remove

(t x)

private binarynode

remove

(t x, binarynode

t)int compareresult = x.

compareto

(t.element);if

(compareresult<0)

else

if(compareresult>0)

else

if(t.left!=null && t.right!=null)

else

return t;

}

/**

* 列印二叉樹 使用中序遍歷遞迴法

*/public

void

printtree()

else

printtree

(root);}

private

void

printtree

(binarynode

t)}

/**

* 列印方法實現方法 二叉樹的遍歷 使用二叉樹的層次遍歷

* @param t

*/private

void

printtree

(binarynode

t)else

if(temp.right!=null)

} system.out.

println()

;}}

演算法 二叉查詢樹

二叉查詢樹 binary search tree 也稱有序二叉樹 ordered binary tree 排序二叉樹 sorted binary tree 是指一棵空樹或者具有下列性質的二叉樹 1.若任意節點的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 2.若任意節點的右子樹不空,則右子...

演算法導論 二叉查詢樹

部分實現,用insert生成二叉查詢樹。暫無delete函式。建立查詢樹是用insert逐個插入。比較簡陋,希望有所幫助。includeusing namespace std struct node class searchtree void create void insert node newn...

二叉樹查詢演算法

定義樹節點 class treenode def init self,x self.val x self.left none self.right none先序遍歷,遞迴 def preorder root treenode 遞迴地,先序遍歷二叉樹 if root none return else ...