应用台导航页
  • 主页
  • 博客
  • 知识库
  • 工作台
  • 集萃
  • 友链
  • 关于
数据结构树真题

数据结构树真题

技术
更新于 2026-09-20
— 2185 字
返回

【2010年真题】 下列线索二叉树中(用虚线表示线索),符合后序线索树定义的是( )。

2010题3.svg
2010题3.svg


【解析】

  1. 二叉树结构确定:
    根结点为 aaa,aaa 的左孩子为 bbb,aaa 的右孩子为 ccc;bbb 的右孩子为 ddd。
  2. 后序遍历序列:
    后序遍历的访问顺序为“左子树 右子树 根结点”。

相关内容

  • 英文名著单词索引应用

    英文名著单词索引应用

    创建于2026-09-19

  • 制作一份属于自己的英语写作讲义

文章大纲

  • 心得笔记
    • 题目

选项
文章 ID: 612

相关内容

  • 英文名著单词索引应用

    英文名著单词索引应用

    创建于2026-09-19

  • 制作一份属于自己的英语写作讲义

    制作一份属于自己的英语写作讲义

    更新于2026-09-17

  • 2024

    2024

    更新于2026-09-17

  • linux 常用的命令与操作

    linux 常用的命令与操作

    更新于2026-09-04

  • docker 常用操作

    docker 常用操作

    更新于2026-09-04

dors logoDors

Dors 是花野猫开发为知识工作者打造的数字花园应用,包含的博客、个人记事本、及其他实用功能。

花园

  • 花坛——博客
  • 果园——知识库

工坊——作者开发的实用工具

  • 小记
  • 秒切——一键按秒分割视频
  • 中国重点高校地理位置可视化网站
  • 中国行政区划数据查询平台
  • excel 重命名工具

misc

  • 生活章程
  • 画廊
  • just have fun!

© 2022 - present. All Rights Reserved.滇ICP备2025063395号-1

花野猫打造
→\to→
→\to→
  • 遍历子树 bbb:无左子树,先访问右子树 ddd,再访问 bbb,序列为 d,bd, bd,b;
  • 访问右子树 ccc;
  • 最后访问根结点 aaa。
    因此,后序遍历序列为:d,b,c,ad, b, c, a。
  • 线索化规则(空指针域改作线索):
    • 若左指针为空,令其指向前驱;
    • 若右指针为空,令其指向后继。
  • 各结点的指针与线索分析:
    • 结点 ddd:
      • 无左孩子:左指针指向前驱,因 ddd 是第一个结点,前驱为 NULL;
      • 无右孩子:右指针指向后继,后继为 bbb。
    • 结点 bbb:
      • 无左孩子:左指针指向前驱,前驱为 ddd;
      • 有右孩子(实线指向 ddd),保留右孩子指针。
    • 结点 ccc:
      • 无左孩子:左指针指向前驱,前驱为 ;
  • 对照各选项图形特征,符合 ddd 的右线索指向 bbb、bbb 的左线索指向 ddd、ccc 的左线索指向 bbb、ccc 的右线索指向 aaa 的是 。

    【答案】D


    【2010年真题】第5题 在一棵度数为 444 的树 TTT 中,若有 202020 个度为 444 的结点,101010 个度为 333 的结点,111 个度为 222 的结点, 个度为 的结点,则树 的叶结点个数是( )。

    • A. 41
    • B. 82
    • C. 113
    • D. 122

    【解析】

    1. 设结点数与度数关系:

      • 设树中叶结点(度为 000 的结点)个数为 n0n_0n0​。
      • 树的总结点数 NNN 等于各度数结点数之和: N=n0+n1+n2+n3+n4N = n_0 + n_1 + n_2 + n_3 + n_4N=n 代入已知数据:

    【答案】B


    【2010年真题】第6题 对 n (n≥2)n\ (n \ge 2)n (n≥2) 个权值均不相同的字符构成赫夫曼树。下列关于该赫夫曼树的叙述中,错误的是( )。

    • A. 该树一定是一棵完全二叉树
    • B. 树中一定没有度为 1 的结点
    • C. 树中两个权值最小的结点一定是兄弟结点
    • D. 树中任一非叶结点的权值一定不小于下一层任一结点的权值

    【解析】

    • A 项错误: 赫夫曼树(最优二叉树)只保证带权路径长度(WPLWPLWPL)最短,树的形态通常是不平衡的,甚至可能退化为单支倾斜结构,并不保证满足完全二叉树的定义。
    • B 项正确: 赫夫曼树构造过程中每次都是选取两棵权值最小的子树合并为一棵新二叉树,新生成的根结点度一定为 222,原叶结点度为 000,因此赫夫曼树中只有度为 000 和度为 222 的结点,不存在度为 111 的结点(属于正则二叉树/严格二叉树)。
    • C 项正确: 根据赫夫曼算法,最开始合并的一定是初始字符中权值最小的两个结点,它们合并后作为新结点的左右孩子,因此必为兄弟结点。
    • D 项正确: 赫夫曼树中任意非叶结点的权值等于其左右孩子权值之和。而每次合并均选取当前最小的权值进行合并,自底向上构建,因此上层非叶结点的权值必然不小于其下一层任意结点的权值。

    【答案】A


    心得笔记

    我不知道的事情:结点数等于分支总数+1 。

    题目

    一棵树共有 nnn 个结点,其中所有分支结点的度均为 kkk,则该树中的叶结点数为 (nk−n+1)/k(nk-n+1)/k(nk−n+1)/k。

    利用树的度数与结点数关系推导: 树中的叶结点数为 n0n_0n0​,树中的分支结点(非叶结点)数为 mmm。由题意可知总结点数:m=n−n0m = n - n_0m=n−n0​

    每个分支结点的度均为 kkk,叶结点的度为 000,因此树中所有结点的度数之和(即总分支数 BBB)为: B=m⋅kB = m \cdot kB=m⋅k

    • 在任意一棵包含 nnn 个结点的树中,除根结点外,每个结点上方都有且仅有一条边与之对应,故总边数满足: B=n−1B = n - 1B=n−1
    1. 联立求解 n_0n\_0n_0:

      • 由 mcdotk=n−1m \\cdot k = n - 1mcdotk=n−1,将 m=n−n_0m = n - n\_0m=n−n_0 代入得:

    D

    制作一份属于自己的英语写作讲义

    更新于2026-09-17

  • 2024

    2024

    更新于2026-09-17

  • linux 常用的命令与操作
  • docker 常用操作
  • d
    ,
    b
    ,
    c
    ,
    a
    bb
    b
  • 无右孩子:右指针指向后继,后继为 aaa。
  • 结点 aaa:
    • 左右孩子均非空(实线指向 bbb 和 ccc),无虚线线索。
  • D
    1010
    10
    111
    TTT
    0
    ​
    +
    n1​+
    n2​+
    n3​+
    n4​
    N=n0+10+1+10+20=n0+41N = n_0 + 10 + 1 + 10 + 20 = n_0 + 41N=n0​+10+1+10+20=n0​+41
  • 从分支总数计算结点总数:

    • 树中所有结点的度数之和等于总分支数 BBB: B=0×n0+1×n1+2×n2+3×n3+4×n4B = 0 \times n_0 + 1 \times n_1 + 2 \times n_2 + 3 \times n_3 + 4 \times n_4B=0×n0​+1×n1​+2×n2​+3×n3​+4×n4​ B=0+1×10+2×1+3×10+4×20=10+2+30+80=122B = 0 + 1 \times 10 + 2 \times 1 + 3 \times 10 + 4 \times 20 = 10 + 2 + 30 + 80 = 122B=0+1×10+2×1+3×10+4×20
    • 除根结点外,树中每个结点上方均对应一条分支,因此: N=B+1=122+1=123N = B + 1 = 122 + 1 = 123N=B+1=122+1=123
  • 求解叶结点数 n0n_0n0​: n0+41=123  ⟹  n0=123−41=82n_0 + 41 = 123 \implies n_0 = 123 - 41 = 82n0​+41=123⟹n0​=123−41=82

  • (n−n_0)cdotk=n−1(n - n\_0) \\cdot k = n - 1
    (n−n_0)cdotk=n−1
  • 展开并移项: nk−kcdotn_0=n−1n k - k \\cdot n\_0 = n - 1nk−kcdotn_0=n−1 kcdotn_0=nk−n+1k \\cdot n\_0 = n k - n + 1kcdotn_0=nk−n+1 n_0=fracnk−n+1kn\_0 = \\frac{n k - n + 1}{k}n_0=fracnk−n+1k
  • linux 常用的命令与操作

    更新于2026-09-04

    docker 常用操作

    更新于2026-09-04

    =
    10+
    2+
    30+
    80=
    122