数据结构题目 课时7

server/2025/1/20 5:36:04/

题目

1、由树转换成二叉树,其根的右孩子指针总是空的。( )

2、画出下列二叉树对应的森林。

3、设森林 F 对应的二叉树为 B,它有 m 个结点,B 的根为 P,P 的右子树的结点个数为 n,森林 F 中第一棵树的结点的个数是( )。
A. m - n
B. m - n - 1
C. n + 1
D. 不能确定

4、下列存储形式中,( )不是树的存储形式。
A. 双亲表示法
B. 孩子链表表示法
C. 孩子兄弟表示法
D. 顺序存储表示法

5、如果 F 是由有序树 T 转换而来的二叉树,那么 T 中结点的后根序列就是 F 中结点的( )序列。
A. 前序
B. 中序
C. 后序
D. 层次

6、假设一棵二叉树的层次序列(按层次递增顺序排列,同一层次自左向右)为 ABECFGDHI,中序序列为 BCDAFEHIG。请画出该二叉树,并将其转换成对应的森林。

7、设用于通信的电文仅由 7 个字母 a, b, c, d, e, f, g 组成,字母在电文中出现的频率分别是 0.07, 0.19, 0.06, 0.34, 0.03, 0.21, 0.10
(1)请为这 7 个字母构建 Huffman 树,写出每个字母的 Huffman 编码。
(2)求该哈夫曼树的带权路径长度 WPL。(要求左子树根结点的权小于等于右子树根结点的权)

8、依次输入一个关键字序列{60, 27, 76, 66, 80, 22, 70, 62}。
(1)按输入次序构造并画出此二叉排序树;
(2)画出该树在删除关键字 “76” 后的二叉排序树。

9、如下图所示是一棵二叉排序树,现对它做如下插入和删除操作。

(1)插入 2;
(2)删除 13;
(3)插入 34;
(4)插入 26;
(5)删除 4;
(6)删除 8;

答案

1、正确

2、

3、A

4、D

5、B

6、

7、(1)将频率乘以 100,得到 7, 19, 6, 34, 3, 21, 10

a 对应的哈夫曼编码为 1010;
b 对应的哈夫曼编码为 00;
c 对应的哈夫曼编码为 10111;
d 对应的哈夫曼编码为 11;
e 对应的哈夫曼编码为 10110;
f 对应的哈夫曼编码为 01;
c 对应的哈夫曼编码为 100;

(2)WPL = 19×2 + 21×2 + 10×3 + 7×4 + 3×5 + 6×5 + 34×2 = 251

8、(1)

(2)

9、(1)

(2)

(3)

(4)

(5)

(6)


http://www.ppmy.cn/server/159810.html

相关文章

js中处理树形数据

平时开发中会经常碰到树形数据,而我们存储的数据往往是扁平的数据,需要在前端或者后端对数据进行进一步处理成前端组件需要的树形数据。在操作完树形数据后再转换成扁平数据发给后端。下面JavaScript 中处理树形数据的方法,包括构建树和解析树…

Android CustomTextField

在 Compose 中开发用户界面时,需要处理输入框和键盘的交互,例如在键盘弹出时调整布局位置,避免遮挡重要内容。本篇博客将通过一个完整的示例展示如何实现这一功能。 功能概述 本例实现了一个简单的输入框。当输入框获得焦点或输入文字时&…

QT 如何禁止QComboBox鼠标滚轮

一般情况下,QComboBox会相应鼠标的滚轮事件,即当鼠标停靠在QComboBox上方时,滚动鼠标滚轮,QComboBox的选项会发生切换。但这或许并不是我们希望所出现的,尤其是当QComboBox嵌入在QScrollArea中时,用户只是想…

【MATLAB】subplot如何增加title

在 Matlab 中,使用 subplot 函数将图形窗口划分为多个子图,并使用 title 函数为每个子图添加标题。以下是一个示例: matlab % 生成示例数据 x 0:0.1:10; y1 sin(x); y2 cos(x); % 创建一个 2 行 1 列的子图布局,并选…

通信协议之多摩川编码器协议

前言 学习永无止境!本篇是通信协议之多摩川编码器协议,主要介绍RS485硬件层以及软件层帧格式。 注:本文章为学习笔记,部分图片与文字来源于网络/应用手册,如侵权请联系!谢谢! 一、多摩川协议概述…

多包单仓库(monorepo)实现形式

目录 背景 需求和方案 从0开始搭建一个Monorepo项目 创建 配置全局公共样式 配置全局公共组件 方式1:不需要独立发布的组件包,只在当前项目的子项目中使用 方式2:需要独立发布和版本维护的包 子项目的独立构建和部署 总结 Monorepo优势 便于代码维护、管理 支持…

【MySQL】简单解析一条SQL查询语句的执行过程

1. MySQL 的逻辑架构图 MySQL 架构主要分为 Server 层和存储引擎层。Server 层集成了连接器、查询缓存、分析器、优化器和执行器等核心组件,负责提供诸如日期、时间、数学和加密等内置函数,以及实现存储过程、触发器、视图等跨存储引擎的功能。存储引擎层…

分布式项目新选择:Dubbo搭建方案

在当今的数字化时代,构建高性能、可扩展的分布式系统已成为众多企业应对业务增长和技术挑战的关键。Dubbo,作为阿里巴巴开源的一款高性能、轻量级的Java RPC框架,为Java开发者提供了一套完善的分布式服务治理方案。本文将详细介绍如何使用Dub…