二叉树整理

本文详细介绍了二叉树的概念,包括树的定义、二叉树的性质、存储结构(顺序存储和链式存储)、遍历方法(先序、中序、后序及层次遍历)以及二叉树的相关扩展内容,如高度计算、非递归遍历、带权路径和、结点最大距离和最长路径问题。内容覆盖了二叉树的基础理论和实际操作,适合计算机科学初学者和爱好者学习。

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

二叉树

​ 树是不同于顺序表的一种新的数据结构。按照结点数量和树的结构可以将树分为很多种,本部分重点介绍二叉树的基本内容。

树的定义

​ 首先对树的一些基本概念有一个了解。

  1. 树是有 n ( n ⩾ 0 ) n(n\geqslant 0) n(n0)个结点的有限集合。
  2. 如果 n = 0 n=0 n=0,称为空树。
  3. 如果 n > 0 n>0 n>0,称为非空树,对于非空树,有且仅有一个特定的被称为根(root)的结点(无直接前驱)
  4. 如果 n > 1 n>1 n>1,则除根以外的其他节点划分为 m ( m > 0 ) m(m>0) m(m>0)个互不相交的有限集 T 1 , T 2 , . . . , T m T_1,T_2,...,T_m T1,T2,...,Tm,其中每个集合本身又是一棵树,并且称为根的子树。(此为一个递归定义)
  5. 每个结点都有唯一的直接前驱,但是可能有多个后继。
    在这里插入图片描述

上述即为树的基本定义和性质,接下来对于树中的一些关键词进行解释。

  1. 结点:包含一个数据元素以及若干指向其子树的分支。
  2. 结点的度:结点拥有的子树数
  3. 叶节点:度为0的结点(没有子树的结点)
  4. 分支结点:度不为0的结点(包括根节点)
  5. 孩子:结点的子树的根(直接后继,可能有多个)
  6. 双亲:孩子的直接前驱(最多只有一个)
  7. 兄弟:同一双亲的孩子
  8. 子孙:以某结点为根的树中的所有结点
  9. 祖先:从根到该节点所经分支上的所有结点
  10. 层次:根结点为第一层,其孩子为第二层,以此类推
  11. 深度:树中结点的最大层次
  12. 有序树:子树之间存在确定的次序关系
  13. 无序树:子树之间不存在确定的次序关系
  14. 森林:互不相交的树的集合(对于树中的每个结点而言,其子树的集合即为森林)

二叉树的定义

​ 二叉树是众多类型树中的一种,后续也将会就二叉树的一些内容进行详细的讲解。

​ 二叉树是一种特殊的树,该树种每个结点最多只有2棵子树,这样一来就可以将二叉树的2棵子树进行左右划分。那么对于一个二叉树来说,其可能的形式如下。
在这里插入图片描述

二叉树的性质

​ 在了解了二叉树的定义之后,接下来对于二叉树的性质进行分析。

  1. 在二叉树的第 i i i层上至多有 2 i − 1 2^{i-1}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值