数据结构历年考研真题对应知识点(二叉树的概念)

目录

5.2二叉树的概念

5.2.1二叉树的定义及其主要特征

【完全二叉树中结点数和叶结点数的关系(2009、2011、2018)】

【正则k叉树树高和结点数的关系的应用(2016)】

5.2.2二叉树的存储结构

【特定条件下二叉树树形及占用存储空间的分析(2020)】


5.2二叉树的概念

5.2.1二叉树的定义及其主要特征

完全二叉树中结点数和叶结点数的关系(2009、2011、2018)

完全二叉树。高度为h、有n个结点的二叉树,当且仅当其每个结点都与高度为h的满二叉树中编号为1~n的结点一一对应时,称为完全二叉树,如图 5.3(b)所示。其特
点如下:

① 若 i\leqslant \left \lfloor n /2 \right \rfloor向下取整符),则结点i为分支结点,否则为叶结点。

②叶结点只可能在层次最大的两层上出现。对于最大层次中的叶结点,都依次排列在该层最左边的位置上。

③ 若有度为1的结点,则最多只可能有一个,且该结点只有左孩子而无右孩子。

④ 按层序编号后,一旦出现某结点(编号为i)为叶结点或只有左孩子,则编号大于i的结点均为叶结点。

⑤ 若n为奇数,则每个分支结点都有左孩子和右孩子:若n为偶数,则编号最大的分支结点(编号为n/2)只有左孩子,没有右孩子,其余分支结点左、右孩子都有。

正则k叉树树高和结点数的关系的应用(2016)

正则二叉树。树中每个分支结点都有2个孩子,即树中只有度为0或2的结点。

5.2.2二叉树的存储结构

特定条件下二叉树树形及占用存储空间的分析(2020)

但对于一般的二叉树,为了让数组下标能反映二叉树中结点之间的逻辑关系,只能添加一些并不存在的空结点,让其每个结点与完全二叉树上的结点相对照,再存储到一维数组的相应分量中。

然而,在最坏情况下,一个高度为h且只有h个结点的单支树却需要占据近 2^{h}-1个存储单元。二叉树的顺序存储结构如图5.4所示,其中0表示并不存在的空结点。

注意:建议从数组下标1开始存储树中的结点,保证数组下标和结点编号一致。

 

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 07:52:05       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 07:52:05       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 07:52:05       90 阅读
  4. Python语言-面向对象

    2024-07-10 07:52:05       98 阅读

热门阅读

  1. 晚上定时编译android系统

    2024-07-10 07:52:05       28 阅读
  2. 摒弃传统分页:移动端开发中的无限滚动实现

    2024-07-10 07:52:05       35 阅读
  3. 程序人生 - (002)

    2024-07-10 07:52:05       35 阅读
  4. MacOS隐藏文件打开指南

    2024-07-10 07:52:05       30 阅读
  5. 基于go 1.19的站点模板爬虫

    2024-07-10 07:52:05       30 阅读
  6. Pandas在生物信息学中的应用详解

    2024-07-10 07:52:05       29 阅读
  7. DOM XMLHttpRequest

    2024-07-10 07:52:05       26 阅读
  8. nginx详解

    2024-07-10 07:52:05       24 阅读
  9. vue实现表单输入框数字类型校验功能

    2024-07-10 07:52:05       38 阅读