数据结构——树、二叉树、二叉搜索树

本文详细介绍了树作为一种数据结构的基本概念,包括结点、子结点、兄弟节点、度、深度和高度等,重点讲解了二叉树及其操作,如搜索、插入、删除,以及前序、中序和后序遍历。同时讨论了如何通过前序和中序遍历序列重建二叉树的后序遍历序列。

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

树是一种用于表达层级结构的数据结构

树的定义

树结构是一种数据结构。它由结点以及连接结点的边构成,如图所示:

其中圆点表示结点,实线表示连接结点的边

黑色的结点我们称为根,是一棵树的起始点,如果一棵树有根,我们称之为“有根树”

树有以下几个概念:

父结点、子结点、兄弟结点:

如图中的结点1、2、3,它们具有共同的父结点,也就是结点0;而结点6、7、8,它们的父结点是结点2.相应地,我们也说结点6、7、8是结点2的子结点,而结点6、7、8相互称为兄弟节点(具有相同的父节点)

叶结点:没有子结点的结点,如结点4,结点11

内部结点:除叶结点以外的结点

度:结点x的子结点数。如结点2的度为3,叶结点的度为0

深度:从根结点到结点x的路径长度。如结点8的深度为2

高:结点x到叶结点的最大路径长度。如结点2的高为2,结点3的高为1,

树的高:即根节点的高,如图中树高为3

二叉树

如果一棵树拥有1个根节点,而且所有结点的子结点数都不大于2,则称之为有根二叉树

其中,我们将左边的子结点称为左子结点,右边的子结点称为右子结点

左子树:

以左子结点作为根的树称为左子树

右子树:

以右子结点作为根的树称为右子树

完全二叉树

两种情况:

1.所有叶结点深度相同,且所有内部结点都有两个子结点的二叉树称为完全二叉树(满二叉树)

2.二叉树的叶结点深度最大差距为1,最下层叶节点都集中在该层最左边的若干位置

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值