## 二叉树的遍历
二叉树的遍历分为三种:前(先)序、中序、后序遍历。
设L、D、R分别表示二叉树的左子树、根结点和遍历右子树,则先(根)序遍历二叉树的顺序是DLR,中(根)序遍历二叉树的顺序是LDR,后(根)序遍历二叉树的顺序是LRD。还有按层遍历二叉树。这些方法的时间复杂度都是O(n),n为结点个数。
### 前序遍历
前序遍历的伪代码如下:
```js
visit(node)
print node.value
if node.left != null then visit(node.left)
if node.right != null then visit(node.right)
```
### 中序遍历
中序遍历的伪代码如下:
```js
visit(node)
if node.left != null then visit(node.left)
print node.value
if node.right != null then visit(node.right)
```
### 后序遍历
后序遍历的伪代码如下:
```js
visit(node)
if node.left != null then visit(node.left)
if node.right != null then visit(node.right)
print node.value
```