天天看點

【資料結構與算法學習8】二叉查找樹的基本介紹與添加資料的過程

作者:早起的年輕人

1 二叉查找樹是什麼?

二叉查找樹是一種資料結構,又叫作二叉搜尋樹或二叉排序樹,采用了圖的樹形結構,資料存儲于二叉查找樹的各個結點中,每個節點中最多有兩個子結點。

【資料結構與算法學習8】二叉查找樹的基本介紹與添加資料的過程

2 二叉查找樹 的特點

  • 每個結點的值均大于其左子樹上任意一個結點的值。比如上圖中的結點9大于其左子樹上的3和8
  • 每個結點的值均小于其右子樹上任意一個結點的值。比如上圖中的結點15小于其右子樹上的23、17和28

是以在二叉查找樹的中的資料,最左邊小資料,右邊是大資料,在查找資料時,二叉查找樹的最小結點要從頂端開始,往其左下的末端尋找;然後最大結點要從頂端開始,往其右下的末端尋找。

【資料結構與算法學習8】二叉查找樹的基本介紹與添加資料的過程

第二步

【資料結構與算法學習8】二叉查找樹的基本介紹與添加資料的過程

第三步

【資料結構與算法學習8】二叉查找樹的基本介紹與添加資料的過程

最後得到

【資料結構與算法學習8】二叉查找樹的基本介紹與添加資料的過程

比如添加資料4,添加分析邏輯與上述過程也是一緻的:

【資料結構與算法學習8】二叉查找樹的基本介紹與添加資料的過程

4 二叉查找樹中删除資料

如果需要删除的結點沒有子結點,直接删掉該結點即可,如删除這裡的結點 28:

【資料結構與算法學習8】二叉查找樹的基本介紹與添加資料的過程

如果需要删除的結點隻有一個子結點,那麼先删掉目标結點,然後把子結點移到被删除結點的位置上即可,如删除這裡的結點8:

【資料結構與算法學習8】二叉查找樹的基本介紹與添加資料的過程