摘自《資料結構:思想與實現第二版》
定義,實現(插入,刪除,情況,建立,析構)
特別注意刪除的做法,重點!
插入的時候有乙個問題,new指標會不會丟失?
私有資料成員:樹根
私有成員函式:插入、刪除、查詢、清空
公有成員函式:構造/析構、插入、刪除、查詢(包裹函式)
刪除葉結點,直接刪除
被刪節點只有乙個唯一的兒子.將此兒子取代被刪結點的位置。 被刪結點有兩個兒子
找替身:左子樹中最大的結點 或 右子樹中最小的結點。中序遍歷最靠近被刪除節點
};//查詢,查詢二叉樹特性:左《根《右
int main() ,,,};
//結構體可直接這樣初始化,不用建構函式
binarysearchtreetree;
setx;
set*p;
for(int i=0;i<4;i++)tree.insert(a[i]);
p=tree.find(4);
if(p)cout<
else cout<
return 0;
}
查詢 二叉查詢樹
原始碼 目錄 順序查詢 二分查詢 插值查詢 斐波那契查詢 分塊查詢 雜湊查詢 二叉樹查詢 紅黑樹查詢 二叉查詢樹又稱二叉排序樹又稱二叉搜尋樹,如不為空則有以下性質 1.若任意節點的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 2.若任意節點的右子樹不空,則右子樹上所有結點的值均大於它的根結...
查詢樹ADT 二叉查詢樹
二叉樹的乙個重要應用是它們在查詢中的使用。二叉查詢樹的性質 對於樹中的每個節點x,它的左子樹中所有項的值小於x中的項,而它的右子樹中所有項的值大於x中的項。這意味著該樹所有的元素可以用某種一致的方式排序。二叉查詢樹的平均深度是o logn 二叉查詢樹要求所有的項都能夠排序。樹中的兩項總可以使用com...
二叉查詢樹
二叉查詢的中序遍歷是乙個有序序列,由於插入與修改都相當簡單,這裡不說了,說一下二叉查詢樹的刪除 刪除結點有三種情況,刪除的結點為p 1.p沒有子結點 2.p有乙個子結點 3.p有兩個子結點 在上面 1.2 兩種情況下的刪除都很簡單,也不多說,只說一下第三種情況 上面說過,二叉樹的中序遍歷是乙個有序序...