选择题
[2024年第3题]. C
[2023年第6题]. D
[2022年第7题]. A
[2022年第8题]. C
[2022年第9题]. C
[2021年第7题]. D
[2021年第8题]. D
[2021年第9题]. C
[2021年第10题]. B
[2021年第15题]. C
[2020年第7题]. C
[2019年第7题]. C
[2019年第8题]. C
填空题
[2021年第3题]. 前序、中序或者中序、后序
[2021年第6题]. 16 31
[2021年第7题]. 链式 顺序
[2021年第8题]. 384 12
[2019年第4题]. 107
[2019年第5题]. return NodeCount(T->lchild) + NodeCount(T->rchild)+1
名词解释
[2022年第8题]. 平衡树是一颗空树或者是一颗任意节点的左右子树的最大高度差为1的二叉排序树。
[2020年第9题]. 将二叉树的左右空链域指向某种遍历方式(例如:前序,中序,后序遍历)得到的前驱节点和后驱节点的过程。
简答题
[2023年第1题].
(1)、终止条件 递归部分
(2)、遍历二叉树,并且在遍历过程中,得到所有data为偶数的顶点的data字段总和;如果顶点的data字段为单数,顶点的data加10后再打印该值。
递归终止条件:T为NULL。
(3)、
27 33 25 29 31
60
[2023年第2题].
(1)、DGEBHKFCA
(2)、
(3)、
[2022年第1题]
(1)、
(2)、
[2022年第4题].
(1)、
(2)、
[2021年分析计算题第1题].
(1)、ABDECFGHK
(2)、
(3)、
[2021年分析计算题第3题].
(1)、前序遍历二叉链表并输出结点的值,通过m记录二叉链表中结点的数量,n记录叶子结点的数量。
(2)、
T->A:m=1,n=0
T->B:m=2,n=0
T->D:m=3,n=1
T->C:m=4,n=2
x=4,y=1
(3)、9
[2020年第1题].
(1)、
(2)、
[2020年第2题].
(1)
(2)、
C:1110
A: 0
S: 1111
T: 110
E: 10
(3)、EATA
(4)、
8+6*2+5*3+3*4+4*4=28+35=63
[2019年第1题].
(1)、
(2)、
(3)、
[2019年第2题].
(1)、假设这8个字母分别为A,B,C,D,E,F,G,H。
A:111 10
B:110
C:111 110 0
D:111 111
E:0
F:111 110 1
G:10
H:111 0
(2)、
A:5*0.07=0.35
B:3*0.19=0.57
C:7*0.02=0.14
D:6*0.06=0.36
E:1*0.32=0.32
F:7*0.03=0.21
G:2*0.21=0.42
H:4*0.10=0.40
//平均长度=0.35+0.57+0.14+0.36+0.32+0.21+0.42+0.40=2.77
A:3*0.07=0.21
B:3*0.19=0.57
C:3*0.02=0.06
D:3*0.06=0.18
E:3*0.32=0.96
F:3*0.03=0.09
G:3*0.21=0.63
H:3*0.10=0.30
平均长度=3.0
(3)、
特点:
- 是最优前缀编码。
- 允许对不同字符用不等长的二进制位表示。
- 不唯一。
目标:
- 最小化平均编码长度,从而压缩数据。
编程题
[2022年第4题]
(1)front!=rear
(2)Queue[rear]=b->Left
(3)Queue[rear]=b->Right
(4)ABDGECFH
(5)先序遍历二叉树
[2020年第2题]
void preOrder(BiTree root, int &cnt) { //按照先序遍历思路,cnt统计叶子结点数
if(root == NULL) return;
if(root->lchild == NULL && root->rchild == NULL) {
cnt++;
return;
}
preOrder(root->lchild, cnt);
preOrder(root->rchild, cnt);
}