林老师 · 客观题题库 · CSP-J 卷
CSP-J 卷
年年必考 · 二叉树性质/遍历/完全二叉树/哈夫曼 · 共 35 题 · 由简到难 · 建议 53 分钟
真题
复刻
试卷编号OBJ-699232
题目总数35 题 · 70 分
试卷类型客观题
考生须知:
① 本卷为客观题单卷,合计 35 题 · 70 分,全部为客观题;
② 试卷右上角设有 「提交答卷」 与 「重置考试」 按钮,提交后系统自动判分并显示答题正确情况,请确认全部作答后再行提交;
③ 试卷不显示答案,提交后方可查看每题作答与正确答案的对照;
④ 答卷进度会保留在本地缓存中,刷新或再次打开仍可继续作答;
⑤ 本卷仅供学生练习使用;请勿用于其他用途;题面有问题请联系:i64coder@163.com。
壹
客 观 题
35 QUESTIONS · 2 POINTS EACH
第 1 题
单选
未作答
在数据压缩编码中的哈夫曼编码方法,在本质上是一种( )的策略。
(2 分)
CSP-J 2021 · 单选 第11题 | 知识点 贪心、哈夫曼编码
第 2 题
单选
未作答
一棵二叉树如下图所示。若采用顺序存储结构,即用一维数组元素存储该二叉树中的结点(根结点的下标为 1,若某结点的下标为 i,则其左孩子位于下标 2i 处、右孩子位于下标 2i+1 处),则该数组的最大下标至少为( )。

(2 分)
CSP-J 2019 · 单选 第8题 | 知识点 完全二叉树、二叉树性质
第 3 题
单选
未作答
假设一棵二叉树的后序遍历序列为 DGJHEBIFCA,中序遍历序列为 DBGEHJACIF,则其前序遍历序列为( )。
(2 分)
CSP-J 2019 · 单选 第14题 | 知识点 前序遍历、中序遍历、后序遍历
第 4 题
单选
未作答
独根树的高度为 1。具有 61 个结点的完全二叉树的高度为( )。
(2 分)
CSP-J 2020 · 单选 第12题 | 知识点 完全二叉树、二叉树性质
第 5 题
单选
未作答
假设字母表 {a, b, c, d, e} 在字符串出现的频率分别为 10%、15%、30%、16%、29%。若使用哈夫曼编码方式对字母进行不定长的二进制编码,字母 d 的编码长度为( )位。
(2 分)
CSP-J 2022 · 单选 第7题 | 知识点 哈夫曼编码、哈夫曼树
第 6 题
单选
未作答
一棵有 n 个结点的完全二叉树用数组进行存储与表示,已知根结点存储在数组的第 1 个位置。若存储在数组第 9 个位置的结点存在兄弟结点和两个子结点,则它的兄弟结点和右子结点的位置分别是( )。
(2 分)
CSP-J 2022 · 单选 第8题 | 知识点 完全二叉树、二叉树性质
第 7 题
单选
未作答
根节点的高度为 1,一棵拥有 2023 个节点的三叉树高度至少为( )。
(2 分)
CSP-J 2023 · 单选 第5题 | 知识点 二叉树性质、二叉树概念
第 8 题
单选
未作答
假设有一组字符 {a,b,c,d,e,f},对应的频率分别为 5%、9%、12%、13%、16%、45%。请问以下哪个选项是字符 a,b,c,d,e,f 分别对应的一组哈夫曼编码?( )
(2 分)
CSP-J 2023 · 单选 第10题 | 知识点 哈夫曼编码、哈夫曼树
第 9 题
单选
未作答
给定一棵二叉树,其前序遍历结果为:ABDECFG,中序遍历结果为:DEBACFG。请问这棵树的正确后序遍历结果是什么?( )
(2 分)
CSP-J 2023 · 单选 第11题 | 知识点 后序遍历、前序遍历、中序遍历
第 10 题
单选
未作答
已知二叉树的前序遍历为 [A, B, D, E, C, F, G],中序遍历为 [D, B, E, A, F, C, G],请问该二叉树的后序遍历结果是?( )
(2 分)
CSP-J 2024 · 单选 第12题 | 知识点 二叉树概念、二叉树概念、二叉树概念
第 11 题
单选
未作答
一棵包含 1000 个结点的完全二叉树,其叶子结点的数量是多少?( )
(2 分)
CSP-J 2025 · 单选 第14题 | 知识点 完全二叉树、二叉树性质
第 12 题
单选
未作答
如果一棵二叉树只有根结点,那么这棵二叉树高度为 1。请问高度为 5 的完全二叉树有( )种不同的形态?
(2 分)
CSP-J 2021 · 单选 第8题 | 知识点 完全二叉树、二叉树性质
第 13 题
单选
未作答
对 hello world 使用霍夫曼编码(Huffman Coding),最少比特(比特)为( )。
(2 分)
GESP 六级 2023-12 · 单选 第7题 | 知识点 哈夫曼编码、哈夫曼树
第 14 题
单选
未作答
(2 分)
GESP 六级 2023-12 · 单选 第10题 | 知识点 二叉树概念、完全二叉树、满二叉树
第 15 题
单选
未作答
构造二叉树 [1,2,3,null,4] ( )。
(2 分)
GESP 六级 2023-12 · 单选 第11题 | 知识点 二叉树概念、完全二叉树
第 16 题
判断
未作答
哈夫曼编码(Huffman Coding)具有唯一性,因此有确定的压缩率。( )
(2 分)
GESP 六级 2023-12 · 判断 第5题 | 知识点 哈夫曼编码、哈夫曼树
第 17 题
单选
未作答
(2 分)
GESP 六级 2024-03 · 单选 第1题 | 知识点 哈夫曼树、哈夫曼编码
第 18 题
单选
未作答
一个有 124 个叶子节点的完全二叉树,最多有( )个结点。
(2 分)
GESP 六级 2024-03 · 单选 第10题 | 知识点 完全二叉树、二叉树性质
第 19 题
单选
未作答
若一棵二叉树的先序遍历为:A, B, D, E, C, F,中序遍历为:D, B, E, A, F, C,它的后序遍历为( )。
(2 分)
GESP 六级 2024-03 · 单选 第12题 | 知识点 前序遍历、中序遍历、后序遍历
第 20 题
判断
未作答
(2 分)
GESP 六级 2024-03 · 判断 第1题 | 知识点 哈夫曼树、二叉树概念
第 21 题
判断
未作答
(2 分)
GESP 六级 2024-03 · 判断 第4题 | 知识点 完全二叉树、二叉树性质
第 22 题
判断
未作答
(2 分)
GESP 六级 2024-03 · 判断 第7题 | 知识点 哈夫曼编码、哈夫曼树
第 23 题
判断
未作答
使用哈夫曼编码对一些字符进行编码,如果两个字符的频率差异最大,则它们的编码可能出现相同的前缀。
(2 分)
GESP 六级 2024-03 · 判断 第10题 | 知识点 哈夫曼编码、哈夫曼树
第 24 题
单选
未作答
对 "classmycls" 使用哈夫曼(Huffman)编码,最少需要( )比特。
(2 分)
GESP 六级 2024-06 · 单选 第8题 | 知识点 哈夫曼编码、哈夫曼树
第 25 题
单选
未作答
(2 分)
GESP 六级 2024-06 · 单选 第9题 | 知识点 前序遍历、中序遍历
第 26 题
单选
未作答
(2 分)
GESP 六级 2024-06 · 单选 第10题 | 知识点 满二叉树、二叉树性质
第 27 题
单选
未作答
(2 分)
GESP 六级 2024-12 · 单选 第6题 | 知识点 二叉树概念、满二叉树、二叉树性质
第 28 题
单选
未作答
已知字符集 {A, B, C, D} 的出现频率如下表所示:
根据哈夫曼编码法,下面( )是正确的哈夫曼树。
(2 分)
GESP 六级 2024-12 · 单选 第7题 | 知识点 哈夫曼树、哈夫曼编码
第 29 题
单选
未作答
已知字符集 {A, B, C, D} 的出现频率为 A:8、B:3、C:1、D:6,根据哈夫曼编码法,各字符的哈夫曼编码是( )。
(2 分)
GESP 六级 2024-12 · 单选 第8题 | 知识点 哈夫曼编码、哈夫曼树
第 30 题
判断
未作答
下面代码构建的树一定是完全二叉树:
01struct TreeNode {
02 int value;
03 TreeNode* left;
04 TreeNode* right;
05};
06
07TreeNode* buildCompleteBinaryTree() {
08 TreeNode* root = new TreeNode{1};
09 root->left = new TreeNode{2};
10 root->right = new TreeNode{3};
11 root->left->left = new TreeNode{4};
12 root->left->right = new TreeNode{5};
13 root->right->left = new TreeNode{6};
14 return root;
15}
(2 分)
GESP 六级 2024-12 · 判断 第4题 | 知识点 完全二叉树、二叉树概念
第 31 题
单选
未作答
已知一棵二叉树的前序遍历序列为 GDAFEMHZ,中序遍历序列为 ADFGHEMZ,则其后序遍历序列为()。
(2 分)
GESP 六级 2025-06 · 单选 第8题 | 知识点 前序遍历、中序遍历、后序遍历
第 32 题
单选
未作答
已知二叉树的中序遍历是 [D, B, E, A, F, C],先序遍历是 [A, B, D, E, C, F]。请问该二叉树的后序遍历结果是()。
(2 分)
GESP 六级 2025-09 · 单选 第7题 | 知识点 中序遍历、前序遍历、后序遍历
第 33 题
单选
未作答
以下函数 check() 用于判断一棵二叉树是否为()。
01bool check(TreeNode* root) {
02 if (!root) return true;
03
04 queue<TreeNode*> q;
05 q.push(root);
06 bool hasNull = false;
07 while (!q.empty()) {
08 TreeNode* cur = q.front(); q.pop();
09 if (!cur) {
10 hasNull = true;
11 } else {
12 if (hasNull) return false;
13 q.push(cur->left);
14 q.push(cur->right);
15 }
16 }
17 return true;
18}
(2 分)
GESP 六级 2025-12 · 单选 第6题 | 知识点 完全二叉树、队列、程序阅读与输出推断
第 34 题
单选
未作答
某二叉树共有 10 个结点,记为 A~J,已知它的先序遍历序列为:A B D H I E C F J G,中序遍历序列为:H D I B E A F J C G,则该二叉树的后序遍历序列是()。
(2 分)
GESP 六级 2026-03 · 单选 第7题 | 知识点 前序遍历、中序遍历、后序遍历
第 35 题
单选
未作答
(2 分)
GESP 六级 2026-03 · 单选 第8题 | 知识点 前序遍历、中序遍历、后序遍历