二叉树的遍历:前序,中序和后序遍历(Tree Traversal Algorithms: PreOrder, InOrder and PostOrder)
By Frank Luo
The Tree Traversal Algorithms are used to traversal the tree including Binary Tree and N-ary Tree.
- Binary Tree Traversal
94. Binary Tree Inorder Traversal 144. Binary Tree Preorder Traversal 145. Binary Tree Postorder Traversal
- N-ary Tree Traversal
589. N-ary Tree Preorder Traversal 590. N-ary Tree Postorder Traversal
Binary Tree
PreOrder
Algorithm Preorder(tree) 1. Visit the root; 2. Traverse the left subtree, i.e., call Preorder(left-subtree); 3. Traverse the right subtree, i.e., call Preorder(right-subtree).
Recursive
1 | public List<Integer> preorderTraversal(TreeNode root) { |
Analysis
- Time Complexity: \(O(n)\)
- Space Complexity: \(O(n)\)
Iteration
1 | public List<Integer> preorderTraversal(TreeNode root) { |
Analysis
- Time Complexity: \(O(n)\)
- Space Complexity: \(O(n)\)