二元樹的架構
節點 (node):圖中的點
根節點 (root):最上層的節點,也是整棵樹第一個節點、唯一沒有父節點的節點。
葉節點 (leaf):最下層的節點,也就是沒有子節點的節點
父節點 (parent) 與 子節點 (child):一個節點可以繼續往下層長出其他節點,此時對長出來的節點稱為子節點,而子節點的上層節點稱為父節點。
手足 (sibling):同一個父親底下的 child,他兩個互為 sibling
分支 (branch):圖中的邊
節點深度:一個節點位於這棵樹的第幾層 (level) 就稱為該節點的深度,或者說,從該節點到 root 途經的 edge 數量即為節點深度。
樹的高度/深度:一顆樹目前最高長到第幾層,就稱為該樹的高度,又或者說,離根節點最遠的葉節點深度即為該樹的高度。
完滿二元樹 (full binary tree) :除了 leaf 之外的所有節點,都有填滿兩個 child
完整二元樹 (complete binary tree):除了最後一層,其他層的節點全部填滿,並且最後一層必須是從左向右填,中間沒有空缺。
perfect binary tree:每一層節點都滿的,同時滿足 full 和 complete。
歪斜樹 (Skewed Binary Tree)
左歪斜樹:一顆樹完全都往左邊長,沒有任何 right child。
右歪斜樹:一顆樹完全都往右邊長,沒有任何 left chil
參考資料:https://web.ntnu.edu.tw/~algo/BinaryTree.html
參考資料:https://zh.wikipedia.org/wiki/二叉树
參考資料:https://www.geeksforgeeks.org/binary-tree-set-3-types-of-binary-tree/
題目連結:https://leetcode.com/problems/binary-tree-inorder-traversal/
題目敘述:
測資的 Input/Output
題目的條件