树的定义和相关术语
- 树的定义
结点:树中的数据元素被称为结点(node)
树:是n(n>=0)个结点的有限集合。 - 树的基本术语
结点的度:一个节点含有的子树的个数称为该结点的度
树的度:树中各结点度的最大值称为该树的度
叶子结点:度为0的结点称为叶子结点
分支结点:度不为0的结点称为分支结点
孩子结点:某结点的子树的根结点称为该结点的孩子结点
双亲结点:反之,该结点为其孩子结点的双亲结点
兄弟结点:具有同一个双亲的孩子节点互称为兄弟结点
结点的层数:规定根结点的层数为1,对其余任何结点,若某一结点在第k层,则其孩子结点在第k+1层
树的深度(高度):树中所有结点的最大层数是树的深度- 树结构示意图
- 树结构示意图
- 树的遍历操作
前序遍历:首先访问根结点,然后遍历左子树,最后遍历右子树。ABDEIFCGH
后序遍历:首先遍历左子树,然后遍历右子树,最后访问根结点。DIEFBGHCA
层序遍历:首先从树的根结点开始,自上而下逐层遍历,同一层中从左到右做个访问 。DIEFBGHCA
二叉树
二叉树是n(n>=0)个结点的有限集合,该集合或者为空集,或者由一个根结点和两颗互不相交的、分别称为根结点的左子树和右子树的二叉树组成。
- 二叉树的性质
1.二叉树的第i层上最多有2^(i-1)个结点
2.在一颗深度为k的二叉树中,最多有2^k -1个结点,最少有k个结点
3.在一颗二叉树中,如果叶子结点的个数是n0,度为2的结点个数为n2,则n0=n2+1
4.具有n个结点的完全二叉树的深度为 [log2n」+1 - 图示
二分搜索树
二分搜索树是二叉树。且每个结点的值大于其左子树的所有结点的值小于其右子树的所有结点的值,且其每一颗子树都是二分搜索树
- 图示
- 二分搜索树添加元素