1.1认识二叉树
家谱可以分为两种:一种是二分支结构,另外一种是多分支结构。此处我们讨论具有更高规则的二分支结构
1.1.1二叉树的定义
二叉树是由n个结点构成的有限集合。它可以为空,称为空二叉树,也可以不为空,则它是由一个根节点以及一个被称为根的左子树和根的右子树的两个互不相交的结点集构成,其中左右子树本身又是二叉树
根据定义可知二叉树具有如下五种形态:
1.二叉树与无序树的区别
二叉树的结点度取值范围为[0,2];而在无序树中结点度的取值范围为[0,n-1]。此外,二叉树的子树是有左右之分的,而无序树中的子树是无次序之分的。
2.二叉树与度为2的有序树的区别
在度为2的有序树中,若某个结点只有一个孩子,那么无需区分这个孩子是该结点的左孩子还是右孩子;但在二叉树中,即使某个结点只有一个孩子,也要区分这个孩子是该结点的左孩子还是右孩子
1.1.2二叉树的基本运算
在二叉树的逻辑结构基础上定义的操作主要有以下几种:
初始化、判空、创建、求高度、访问树根、查找、访问双亲、访问左孩子、访问右孩子、访问子孙、访问祖先、遍历、输出/打印、撤销、先序遍历、中序遍历、后序遍历、层次遍历
1.1.3二叉树的性质
性质1:叉树第k层上至多有2的k-