第三章 P3.1树和二叉树

本文深入探讨了树的基本概念,包括树的结构、子树的关系以及树的连通性特征。特别关注二叉树的特性,如二叉树的表示方法、存储结构,以及完全二叉树的特殊性质。文章还详细解释了二叉树中节点度与叶节点数量之间的数学关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.树的一些概念

非空的树有根,树有子树,树和子树就像递归一样,树中有子树,子树这棵树又有子树,又有子树又有子树又有子树又.....如下图

注意子树和子树不会有相交的结点

树是保证结点连通的一种最小连接方式,你随意去掉一条边,树就不连通了。

   

2.树的表示

3.二叉树

把儿子-兄弟表示法的图旋转45度,可以看出,实际上是一个二叉树。

对于上图第三点,因为度表示子树的个数,所以也可以理解为,叶节点的个数是度为2的结点的个数+1。

证明:从边的角度来看 n0+n1+n2-1 = 0*n0+1*n1+2*n2化简得 n0=n2+1。

关于先序和后序可以这么记,都是先左后右,先、中、后指的是根是第几个看的。

二叉树的存储结构

如果是完全二叉树,那么存储很简单,只需要用顺序存储就行了,具体就可以用数组。因为完全二叉树的根节点和左结点和右结点之间有关系。关系如下:

非根结点的父结点的序号是 i/2(取整没有左右结点之分了);

结点的左孩子序号是 2i;

结点的右孩子序号是 2i+1;

一般二叉树也可以用类似的方法,但是会浪费空间,因为要在空的地方进行补齐。

待续。。。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值