二叉搜尋樹刪除
在二叉搜尋樹:搜尋和插入一文中,我們討論瞭如何在二叉搜尋樹中插入一個元素,以及如何在二叉搜尋樹中搜尋一個值。在本文中,我們將討論如何從二叉搜尋樹中刪除一個節點。 二叉搜尋樹的刪除操作 在二叉搜尋樹中插入一個節點是比較簡單的。但是,在刪除一個節點時,我們必須考慮到多種可能性。以下 3 種情況可能發生。 要刪除的節點沒有子節點,它是一個葉子節點。 這是最簡單的情況,因為葉子節點沒有子節點,因此我們不需要關心任何事情。我們可以用 NULL 替換葉子節點,並釋放分配給這個節點的空間。 要刪除的節點只有一個子節點(左或右子節點)。 在這種情況下,我們儲存該節點的子節點,並將該節點從原來的位置刪除。然後將子節點插入到被刪除節點的原始位置。