树的遍历
- 前序(preorder),我们访问该几点,然后访问该节点的左子树和右子树;
- 中序(inoder),我们访问该节点的左子树,然后访问该节点,再访问该节点的右子树;
- 后序(postorder),我们访问该节点的左子树和右子树,再访问该节点。
递归遍历
1 | void traverse(link h, void(*visit)(link)) |
非递归遍历
所有的递归都可以用迭代来实现么?
1 | void traverse(link h, void(*visit)(link)) |
使用True OR False来标记是否访问过
1 | def postorder(root): |
Leetcode相关练习题
- https://leetcode.com/problems/binary-tree-preorder-traversal
- https://leetcode.com/problems/binary-tree-inorder-traversal
- https://leetcode.com/problems/binary-tree-postorder-traversal
Reference
Algorithm IN C