树结构

一、树的相关概念
树的定义
在这里插入图片描述
在这里插入图片描述
树具有两个特点:
(1)树的结点没有前驱结点,除根结点之外的所有结点有且只有一个前驱结点
(2)树中所有结点可以有零个或多个后继结点。
由此可知,下列图示都不是树结构
在这里插入图片描述
二、二叉树
1.二叉树的定义
在这里插入图片描述
2.二叉树的相关术语
(1)满二叉树
在这里插入图片描述
(2)完全二叉树
在这里插入图片描述
3.二叉树的主要性质
性质一:一棵非空二叉树的第i层上最多有2的i-1次方个结点(i>=1)
性质二:一棵深度为k的二叉树,最多有2的k次方-1个结点
性质三:对于一棵非空二叉树,若叶子结点数为n0,度数为2的结点数为n2,则有:n0=n2+1
证明
设n为二叉树的结点总数,n1为二叉树中度为1的结点数,则
n=n0+n1+n2
在二叉树中,除根结点外,其余结点都有唯一的一个进入分支。设B为二叉树的分支数,则
B=n-1
这些分支是由度为1和度为2的结点发出的,一个度为1的结点发出一个分支,一个度为2的结点发出两个分支,所以有
B=n1+2n2
联立上面三个式子可得到n0=n2+1

性质四:具有n个结点的完全二叉树的深度k为
在这里插入图片描述
其中log2n的左右两侧的符号指向下取整
证明

性质五:
在这里插入图片描述
3.二叉树的存储
1.顺序存储结构
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.链式存储结构
(1)二叉链表存储
在这里插入图片描述
下图a给出一棵二叉树的二叉链表存储表示。二叉链表也可以以带头结点的方式存放,如图b所示
在这里插入图片描述
(2)三叉链表存储
每个结点由四个域组成,具体结构为
在这里插入图片描述
下面给出一棵二叉树的三叉链表存储示意图
在这里插入图片描述
4.二叉树基本运算的实现
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布布要成为最负责的男人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值