iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
佛心分享-IT 人自學之術

從Leetcode到實務的橋樑系列 第 7

Day 7(104.Maximum Depth of Binary Tree)

  • 分享至 

  • xImage
  •  

題目介紹:
這題要求我們找出一棵二元樹(Binary Tree的最大深度,也就是從根節點(Root)到最遠葉節點(Leaf)的最長路徑所包含的節點數。換句話說,我們需要計算這棵樹有多少層。
觀念:
給定輸入為一個二元樹的根節點 root,輸出則是一個整數,表示這棵樹的最大深度。
為了達成這個目標,我們可以使用:
1.遞迴(DFS):分別計算左右子樹的深度,取最大值再加 1。
2.迭代(BFS):利用佇列進行層序遍歷,逐層計算深度。
程式碼及成功畫面截圖:
https://ithelp.ithome.com.tw/upload/images/20250920/20168871IxCxZA8Bso.png
學習心得:
題目雖然看似簡單,但實際操作後會發現遞迴的精髓在於「將問題拆解到最小單位」,最後再往上累積答案。同時,藉由比較 DFS 與 BFS 的方法,我學到不同演算法各有優勢:DFS 程式簡潔直觀,而 BFS 更能直觀地看出層級關係。這題讓我體會到熟悉多種思路能讓解題更靈活。
延伸邏輯時事面:
1.教育學習
學生的學習歷程就像一棵樹,每一層代表不同階段的知識積累。學習的「深度」取決於是否持續往下鑽研,而不是只停留在表面。
2.組織結構
企業或政府的層級也像一棵樹。最大深度代表決策傳遞的層數。層級過深,可能導致溝通效率降低;層級適中,則能保持靈活與穩定。
3.人工智慧(AI)發展
類神經網路(Neural Network)的深度與這題的概念相似。模型層數越深,代表能學到更複雜的特徵,但同時也會帶來運算成本與過擬合的挑戰。


上一篇
Day 6(226.Invert Binary Tree)
下一篇
Day 8 這週綜合心得
系列文
從Leetcode到實務的橋樑14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言