查詢二叉樹adt:性質:對於樹中每個節點x,它的左子樹所有項的值小於x中的項而它的右子樹所有項的值大於x中的項
* 查詢二叉樹adt:
* 性質:對於樹中每個節點x,它的左子樹所有項的值小於x中的項
* 而它的右子樹所有項的值大於x中的項
*/public class binarysearchtree>
public binarynode(anytype theelement, binarynodelt, binarynodert) }
private binarynoderoot; //根節點
public boolean isempty()
public binarysearchtree()
public void makeempty()
public boolean contains(anytype x)
/** 利用遞迴的思想來遞迴呼叫
*/private boolean contains(anytype x, binarynodet)
/** 取樹中的最小值
*/public anytype findmin()
private binarynodefindmin(binarynodet)
/* * 取樹中的最大值
*/public anytype findmax()
private binarynodefindmax(binarynodet)
/** 插入資料
*/public void insert(anytype x)
private binarynodeinsert(anytype x, binarynodet)
/** 刪除節點
*/public void remove(anytype x)
private binarynoderemove(anytype x, binarynodet)else
t = (t.left != null)? t.left : t.right;
return t; }
public void printtree()
private void printtree(binarynodet)
}
/*
*測試**
*/
public static void main(string args)
}
查詢樹ADT 二叉查詢樹
二叉樹的乙個重要應用是它們在查詢中的使用。二叉查詢樹的性質 對於樹中的每個節點x,它的左子樹中所有項的值小於x中的項,而它的右子樹中所有項的值大於x中的項。這意味著該樹所有的元素可以用某種一致的方式排序。二叉查詢樹的平均深度是o logn 二叉查詢樹要求所有的項都能夠排序。樹中的兩項總可以使用com...
二叉樹 二叉查詢樹
構建二叉樹,判斷是否為二叉查詢樹,遞迴先序遍歷,非遞迴中序遍歷 include include include include using namespace std 二叉樹結點 struct treenode 鍊錶結點 struct listnode struct tempnodetempnode...
二叉樹 二叉查詢樹
二叉樹 binary tree 一種樹型結構,每個節點最多擁有兩個節點。如下圖 幾種型別的二叉樹 1.full binary tree 每個節點的孩子數 是 0 或者 2.對高度沒有要求。如下圖 2.perfect binary tree 這個就是最完美的樹,顧名思義,所有葉子節點都有相同的深度,並...