iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

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

以奶茶店作為故事背景,將資料結構融入日常場景,讓抽象的概念變得生活化,容易理解。
利用有趣的故事與程式範例來降低學習門檻。

鐵人鍊成 | 共 30 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 21

Stack 與 Queue:同一個容器,不同的規則

那麼換你了,給 Kotlin 的 ArrayDeque 增加 Queue 風格的操作吧。就用我剛剛寫的 Stack 風格改一改,很簡單的。」孩子眨眨眼。 我回想...

2025-09-19 ‧ 由 Kate 分享
DAY 22

層級關係:認識 Tree 結構

這次的考驗意外地輕鬆。 我一邊啜飲一口珍珠奶茶,一邊想著:資料結構其實也沒那麼生澀難懂嘛。 規則少少的,只要抓住核心,其他部分反而挺隨性的。既然如此,我就用自己...

2025-09-20 ‧ 由 Kate 分享
DAY 23

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

「拜託,你那樣講他還是聽不懂啦。」剛剛一直安靜坐在學長旁邊的學姊忽然開口。 我嚇了一跳——咦?難道我神遊被她看穿了? 「先搞清楚 Tree 的作用比較重要吧?」...

2025-09-21 ‧ 由 Kate 分享
DAY 24

當學姊用撲克牌實作二元搜尋樹

「打鐵趁熱,我們馬上來做一個『二元搜尋樹』吧!」 學姊笑嘻嘻地從書包裡掏出了一副撲克牌,還故意像魔術師一樣炫技,來了一段交疊洗牌。 學長身體往後縮了縮。 「欸,...

2025-09-22 ‧ 由 Kate 分享
DAY 25

Tree 的兩個搜尋方法:DFS vs BFS

我左看看右看看。 「學姊,我學會了怎麼排出二元搜尋樹的方法,可是⋯⋯你還沒教我怎麼搜尋啊?」 「啊呀,玩得太開心,差點忘記重點了。」學姊吐了吐舌頭,露出有點調皮...

2025-09-23 ‧ 由 Kate 分享
DAY 26

樹上的家族:父母、孩子和葉子

「難怪學長剛剛會說 Tree 是『層級關係』,原來是因為這個特性啊。」我點點頭,忽然又冒出一個疑問。「那除了 Root 之外,其他節點都沒有特別的名字嗎?」 「...

2025-09-24 ‧ 由 Kate 分享
DAY 27

來實作 Tree 吧

「原來 Tree 的應用範圍比我想像的還要廣啊!」我忍不住感嘆。 「當然囉。」後面有個聲音回應我:「那你知道 BFS 和 DFS,分別對應 Queue 和 St...

2025-09-25 ‧ 由 Kate 分享
DAY 28

遞迴藏鏡人

「那 insert 和 insertRec 的差異呢?」 「insertRec 是 insertRecursive 的縮寫,意思是『用遞迴來插入』。」 「遞迴?...

2025-09-26 ‧ 由 Kate 分享
DAY 29

遞迴的風險

「遞迴是不是其實也用到了 Stack 啊?」我好奇地問,因為剛剛聽起來遞迴是找到最簡單的答案之後,倒退回來做困難的。 「沒錯,不只遞迴,所有函式呼叫都會用到 S...

2025-09-27 ‧ 由 Kate 分享
DAY 30

最後的挑戰:用 Queue 來征服 Tree

「那我們回過頭來,把 insertRec 補完吧。」 「等我一下,我想一下邏輯……」 記得是從上而下、左而右比較大小;如果有位置就直接停下來「卡位」。 不知不覺...

2025-09-28 ‧ 由 Kate 分享