二叉查詢樹(動態查詢)

2021-10-05 15:08:45 字數 1396 閱讀 1083

摘自《資料結構:思想與實現第二版》

定義,實現(插入,刪除,情況,建立,析構)

特別注意刪除的做法,重點!

插入的時候有乙個問題,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 兩種情況下的刪除都很簡單,也不多說,只說一下第三種情況 上面說過,二叉樹的中序遍歷是乙個有序序...