软设之二叉树的存储与特性

树与二叉树的概念

结点,用圆形表示

分支,指的是结点下的线

结点的度,该结点的子树数目

树的度,各结点度的最大值

分支结点,度不为0的结点

内部结点,除根以外的分支结点

层次,根为第一层,以此类推

树的高度,一棵树的最大层次数。

二叉树的定义

二叉树是n个结点的有限集合,它或者是空树,或者是由1个根结点及两棵不相交的且左右称为左右子树的二叉树所构成。

空树,没有结点的树

单结点树,只有一个顶点结点

二叉树,所有结点的度不大于2的树。

满二叉树,任意结点,度为0或2。

二叉树的存储

假定要存储有8个结点的二叉树数据

方式一,采用大小为8的一维数组

这种方式没有存储位置信息,无法还原。

方式二,采用完全二叉树结点的数目,为15,在相应位置信息填数据,该位置如果没有数据,就是空。

这种方式特点,可以还原,有大量空间浪费。

方式三,链式存储

用链表存储,每个结点都有链表数据,每个环节存有数据和指向子树的指针。

二叉树的特性

在二叉树的第i层有2^(i-1)个结点

深度为k的二叉树最多有2^k-1个结点

如果对一颗有n个结点的完全二叉树的结点按层编号,则对任意结点有

如果i=1,则结点i无父结点,是二叉树的根;如果i>1,则父结点是[i/2]。

如果2i>n,则结点i为叶子结点,无左子节点。否则,其左子结点是结点2i

如果2i+1>n,则结点i无右子结点,否则,其右子结点是结点2i+1

具有n个结点的二叉树形态数

0个结点是1种

1个结点是1种

2个结点是2种

3个结点是5种

以此为基础,推导4个结点,5个结点二叉树形态。

 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值