二叉树的遍历:
前序遍历:根左右
中序遍历:左根右
后序遍历:左右根
层次遍历:一层一层的遍历,类似广度优先
二叉树的存储结构
- 二叉树以二叉链表结构存储,也就是1个数据域,两个指针域(分别指向左右孩子)
1 | //二叉树的二叉链表结构定义 |
- 二叉树的建立,先按照前序遍历的方式建立二叉树,当然也可以按照中序遍历或者后序遍历的方式建立二叉树
1 | //以前序遍历的方式建立二叉树 |
递归前序遍历二叉树
1 | //递归方式前序遍历二叉树 |
递归中序遍历二叉树
1 | //递归中序遍历 |
递归后序遍历二叉树
1 | //递归后序遍历 |
中序遍历非递归
1 | void InOrder(BiTree T) |
完整代码如下:
1 |
|