关于树的种种
树和二叉树
基本性质
节点总数=分支总数+1
节点的度:节点的分支树
树的度:该树中节点的最大度为树的度
叶子节点:度为0的节点
分支节点:度大于零的节点
兄弟节点:两个孩子拥有相同的双亲
树的深度:叶子节点所在的最大层数
森林:m棵互不相交的树的集合
二叉树
二叉树或为空树,或时一个根节点加上两棵分别称为左子树和右子树互不相交的二叉树组成
二叉树5种表现形式
空树 只含有根节点 左子树为空 右子树为空 左右子树都为空
***二叉树不是树的一个特例,二叉树是一种特殊的有序树,二叉树和树是两种并列的数据结构***,数这种数据结构是没有顺序的,但是二叉树是有顺序的
二叉树重要基本性质
- 在二叉树的第i层上至多有 2i-1个节点
- 深度为k的二叉树上之多包涵2k-1个节点(k>=1)
- 任何一颗二叉树,若含有n0个叶子节点,n2个度为2的结点,则必然有n0=n2+1,同时可以推导出有 n n n个节点的二叉树一定有 n − 1 n-1 n−1个空指针域
两类特殊的二叉树
满二叉树:深度为k且含有2k-1个节点的二叉树
完全二叉树:树中所含的n个节点和满二叉树树中编号为1纸n的节点一一对应
在完全二叉树中一定不会存在一个节点只有右子树没有左子树
叶子结点只可能出现在最后两层
除了最后一层,其他的层都必须是满的
满二叉树是完全二叉树的一种特例
含有n个基点的完全二叉树的深度为 u n f l o o r ( l o g 2 n ) + 1 unfloor(log_{2}n)+1 unfloor(log2