二叉树的原理推敲与动手种树

本文深入探讨二叉树这一基础数据结构,包括树的定义、二叉树的特点、各种类型的二叉树(如满二叉树、完全二叉树)、二叉树的性质以及如何用C语言实现二叉树的遍历操作。
摘要由CSDN通过智能技术生成

640?wx_fmt=gif

作为数据结构的基础,树分很多种,像 AVL 树、红黑树、二叉搜索树....今天我想分享的是关于二叉树,一种基础的数据结构类型。

01

什么是树

在《数据结构》[注1] 中树有如下定义:

树是 n(n≥0) 个结点的有限集

在此我对上述定义做出如下解释:

当 n=0n=0 时,为空树,树的深度与高度均为 00,是树的一种特例;当 n>0n>0 时,为非空树,树的第一个结点,即深度为 11 的结点,我们称其为根结点,由根结点可以引出若干子树分支,同时子树分支可依此向下延伸,此时树的深度与高度也在变化,即树状图。

这里我们需要厘清树的深度与树的高度与其他树的术语:

  • 树的深度:树中结点的最大层次

  • 树的高度:从叶子结点开始定义,叶子结点为第一层,往上依次递增,直至根结点。

  • 结点:树的结点包含一个数据元素以及若干指向其子树的分支

  • 度:结点所拥有的子树数量

  • 终端节点:度为0的结点称为叶子结点或终端结点

  • 树的度:树中各结点度的最大值

  • 层次:从根开始定义,根为第一层,依次递增

  • 有序树:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值