二叉樹的遍歷方式有三種:前序遍歷、中序遍歷和后序遍歷。
前序遍歷(Preorder Traversal):先訪問根節點,然后遞歸地前序遍歷左子樹,再遞歸地前序遍歷右子樹。遍歷順序為 根-左-右。
中序遍歷(Inorder Traversal):先遞歸地中序遍歷左子樹,然后訪問根節點,最后遞歸地中序遍歷右子樹。遍歷順序為 左-根-右。
后序遍歷(Postorder Traversal):先遞歸地后序遍歷左子樹,然后遞歸地后序遍歷右子樹,最后訪問根節點。遍歷順序為 左-右-根。
以上三種遍歷方式都可以使用遞歸或者迭代的方式實現。遞歸方式相對簡單,迭代方式需要借助棧來實現。
另外,還有層序遍歷(Level Order Traversal)的方式,即從上到下,從左到右逐層訪問二叉樹的節點。層序遍歷需要借助隊列來實現。