二叉搜尋樹的插入與刪除

2021-08-31 13:51:12 字數 407 閱讀 6468

插入:

bstree insert(bstree bst, elementtype x)else

return bst;

}刪除:

bstree delete(bstree bst, element x)

else}}

return bst;

}總結:二叉樹的插入比較好解決,只需要簡單的遞迴判斷即可。麻煩一點的是二叉樹的刪除。分三種情況:

1:左右子樹都空,直接刪除。

2:左右子樹有乙個為空,兩個都不空,只要將該點的不空的子樹替代該點即可。

3:左右子樹都不空,這是刪除裡最麻煩的。又有兩個方法:

(1)從左子樹找最大值,替換該節點。並從左子樹里刪除最大的節點。

(2)從右子樹找最小值,替換該節點。並從右子樹里刪除最小的節點。

二叉搜尋樹的插入與刪除

題目 建立乙個類,類中的資料成員時一棵二叉搜尋樹,對外提供的介面有新增結點和刪除結點這兩種方法。使用者不關注二叉樹的情況。要求我們給出這個類的結構以及實現類中的方法。刪除結點比較麻煩,因為需要調整樹的結構,這是因為刪除結點並不一定發生在葉子結點。如果刪除的是葉子結點,那麼操作非常簡單,只是做相應的刪...

二叉搜尋樹的插入與刪除

題目 建立乙個類,類中的資料成員時一棵二叉搜尋樹,對外提供的介面有新增結點和刪除結點這兩種方法。使用者不關注二叉樹的情況。要求我們給出這個類的結構以及實現類中的方法。刪除結點比較麻煩,因為需要調整樹的結構,這是因為刪除結點並不一定發生在葉子結點。如果刪除的是葉子結點,那麼操作非常簡單,只是做相應的刪...

二叉搜尋樹的插入 刪除

二叉搜尋樹 就是每乙個結點的data值,都大於它的所有左孩子的data,小於所有右孩子的data 二叉搜尋樹的插入刪除的模擬 pragma once namespace ljc template class t friend class binarysorttree template class t...