##二叉树基本定义

定义
二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成
特点
1)每个结点最多有两颗子树
2)左子树和右子树是有顺序的,次序不能任意颠倒。
3)即使树中某结点只有一棵子树,也要区分它是左子树还是右子树
二叉树遍历
1 | #判断当前节点是否为空 |
1.前序遍历
前序遍历执行的是中左右的遍历原则,即先遍历中间的根节点,然后左节点,最后右节点。
1 | def preorderTraversal(root): |
2.中序遍历
中序遍历执行的是左中右的遍历原则,即先遍历中间的左节点,然后中间节点,最后右节点
1 | def innerorderTraversal(root): |
3.后序遍历
后序遍历执行的是左右中的遍历原则,即先遍历中间的左节点,然后右节点,最后中节点。
1 | def postorderTraversal(root): |
4.总结规律
基于以上代码可见,二叉树的遍历基本的代码框架如下:
1 | def Traversal(root): |

