iT邦幫忙

2025 iThome 鐵人賽

DAY 23
0
Software Development

奶茶裡藏的資料結構(Kotlin範例)系列 第 23

Tree:你和鄰居沒有直接關係

  • 分享至 

  • xImage
  •  

「拜託,你那樣講他還是聽不懂啦。」剛剛一直安靜坐在學長旁邊的學姊忽然開口。

我嚇了一跳——咦?難道我神遊被她看穿了?

「先搞清楚 Tree 的作用比較重要吧?」

「這個我知道,Tree 就是會分岔的嘛!」我比了個剪刀手。

「分岔⋯⋯這樣說也對。」學姊笑著點頭。「會分岔就代表有多個選擇,所以 Tree 常常用來表現『包含』的結構。比如說分類,我們逛賣場的時候,先看大分類的指示牌,再往下找子分類,一層層縮小範圍,最後才找到要的商品。」

「喔——所以學長剛才說的層級關係,就是這個意思?」

「嗯。因為彼此沒有直接關聯,他們就只是同一個分類,就像你和鄰居沒有直接關係一樣。」

「那二元搜尋樹呢?」我追問。

「這個嘛⋯⋯你就想成二分法。」學姊比劃了一下。「就像我們玩猜數字遊戲,我只告訴你比你猜的大或小,你就會往正確那個方向繼續猜。二元搜尋樹就是把數字事先整理好,每個節點就像你猜的數字,左邊接的是更小的數字,右邊接的是更大的數字,層層往下展開。」

「喔——所以才會說二元搜尋樹是排序過的啊。」我終於了解了。

「哈哈,沒錯。所以它還有個別名,叫『有序二元樹』。」學姊嘴角微微上揚,眼神裡閃過一絲淘氣。「不過我自己還是習慣叫『二元搜尋樹』啦。因為 Binary Search Tree 聽起來比較順耳,有語感——而且縮寫 BST 看起來就像 BEST 嘛!」


上一篇
層級關係:認識 Tree 結構
下一篇
當學姊用撲克牌實作二元搜尋樹
系列文
奶茶裡藏的資料結構(Kotlin範例)24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言