标签:没有 位置 数组下标 遍历 个数 分支 形式 二叉树 关系
二叉树:每个结点至多有两个子树
满二叉树:每一层的结点个数都是最大结点数
完全二叉树:叶子节点在最后两层;对于任一结点,左子树的深度比右子树深度大1或者相等
性质:
二叉树:第i层,至多有2^(i-1)个结点
二叉树:深度为k的二叉树,至多有(2^k)-1个结点
满二叉树:深度为k的满二叉树的结点个数为(2^k)-1
二叉树:任何一个二叉树,度为0的结点的个数n0,度为1的结点的个数n1,度为2的结点的个数的关系: n0 = n2+1,总的结点个数n
原因:n0+n1+n2 = n 除了根节点之外,其它几点都有一个分支进入分支个数n-1,分支都是由度为1或者度为2的结点发出的 n1+2*n2 = n-1 根据这两个公式得到n0=n2+1
完全二叉树:任何一个具有n个结点的完全二叉树的深度为 log以2为底n向下取整 + 1
完全二叉树:任何一个完全二叉树按照层次为结点编号
i=1,该结点是完全二叉树的根,无双亲
i>1,该节点不是根,该结点的双亲的编号为i/2向下取整
一个结点的编号是i,如果2*i大于n,表明该结点没有左孩子,否则,左孩子编号为2*i
一个结点的编号是i,如果2*i+1大于n,表明该结点没有右孩子,否则,右孩子编号为2*i
存储
(1)顺序存储
用一组地址连续的存储单元将二叉树从上到下从左到右按顺序存储,存储成对应的完全二叉树的形式(完全二叉树中编号为i的结点存储在数组下标为i-1的分量中),如果某个结点不存在,该位置存0
数组的长度(2^k)-1 二叉树的深度为k,空间浪费
(2)链式存储
数据域 左孩子 右孩子
指针域有浪费:含有n个结点的二叉树有n+1个空指针域 有n个结点,就有2*n个指针域,就有n-1个分支,所以,有n+1个指针浪费
遍历
前序
中序
后序
标签:没有 位置 数组下标 遍历 个数 分支 形式 二叉树 关系
原文地址:https://www.cnblogs.com/duanjiapingjy/p/9545300.html