csp-j(2022)初赛解析【选择题】

csp-j(2022)初赛解析【选择题】

csp-j(2022)初赛解析【选择题】_第1张图片
答案:A。
【解析】面向对象考察的内容与类相关,题中唯一没有出现类的选项是A选项。printf函数在c语言中就存在。
csp-j(2022)初赛解析【选择题】_第2张图片
答案:C
【解析】栈的特征:后进先出。
A选项:65进栈,5出栈,4进栈,4出栈,3进栈,3出栈,6出栈,21进栈,1出栈,2出栈。
B选项:654进栈,4出栈,5出栈,3进栈,3出栈,21进栈,1出栈,2出栈,6出栈。
C选项:6543进栈,3出栈,4出栈,5没有出栈,6就无法出栈,这里非法。
D选项:65432进栈,234出栈,1进栈,1出栈,5出栈,6出栈。

csp-j(2022)初赛解析【选择题】_第3张图片csp-j(2022)初赛解析【选择题】_第4张图片
答案:D
【解析】第四条语句的意思是将p指向x的地址,第五条语句的意思是将q指向y的地址。第六条语句将q赋值给p,于是p就指向原来q指向的y的地址了。
csp-j(2022)初赛解析【选择题】_第5张图片
答案:C
【解析】数组在定义时需要请求空间,所以数组的大小为固定值。链表使用指针完成连接,可动态调整。
csp-j(2022)初赛解析【选择题】_第6张图片
答案:B
【解析】栈:后进先出。队列:先进先出。
本道题目只需判断出栈的先后顺序即可。
12进栈,2出栈,容量为2。
34进栈,4出栈,3出栈,容量为3。
56进栈,6出栈,5出栈,1出栈,容量为3。
综上,栈S容量至少为3。
csp-j(2022)初赛解析【选择题】_第7张图片
答案:B
【解析】前缀表达式,先遍历根节点,再遍历左节点,最后遍历右节点。如下图所示:该表达式的前缀表达式为:+a*-bcd。
csp-j(2022)初赛解析【选择题】_第8张图片

在这里插入图片描述
在这里插入图片描述
哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。
依据哈夫曼编码原理,可构造如下二叉树:
csp-j(2022)初赛解析【选择题】_第9张图片

字母 编码
a 000
b 001
c 11
d 01
e 10

所以d的编码长度为2。
csp-j(2022)初赛解析【选择题】_第10张图片
答案:C
【解析】完全二叉树的排列是按照从上至下,从左至右的顺序进行排列。
那么9号节点在第三层的第二个节点的位置,是个右节点,它的兄弟节点(左节点)编号为8,它的孩子节点:右节点编号为2i+1,即19;左节点编号为2i,即18。
csp-j(2022)初赛解析【选择题】_第11张图片
n个顶点的有向联通图至少存在n个有向边。
如下图所示,3个顶点的有向连通图(最少边)G和它的邻接矩阵A
csp-j(2022)初赛解析【选择题】_第12张图片在这里插入图片描述
所以n个顶点构成的有向连通图中其邻接矩阵至少存在n个非0元素。
csp-j(2022)初赛解析【选择题】_第13张图片
答案:D
【解析】栈的特征为:先进后出,或者说后进先出,那么使用两个栈即可实现先进先出,即队列。
csp-j(2022)初赛解析【选择题】_第14张图片在这里插入图片描述
答案:D
【解析】题目描述为在p后插入一个节点s。如图所示:
csp-j(2022)初赛解析【选择题】_第15张图片
插入一个S节点,从后往前插入,先让s的后继指向p的后继,再让p的后继的前驱设为s。然后将s的前驱设为p,p的后继重新设为s。
A选项中第三句:p的后继已经修改,s的后继就不能再设为原本p的后继了,出现矛盾。
B选项第二句也出现了与A相同的问题。
D选项中第三句,p的后继已指向s,那么p的后继的前驱便自动指向p,现在又重新赋值为s,自相矛盾。
csp-j(2022)初赛解析【选择题】_第16张图片
答案:B
【解析】排序算法稳定性是指在多个具有相同关键词的记录在待排序的序列中重新排序后,被排序的记录相对位置保持不变 。
堆排序、快速排序、希尔排序、直接选择排序是不稳定的排序算法,而冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。
csp-j(2022)初赛解析【选择题】_第17张图片
答案:C
【解析】 3 ∗ 8 + 2 ∗ 1 + 1 / 8 = 26.125 3*8+2*1+1/8=26.125 38+21+1/8=26.125
csp-j(2022)初赛解析【选择题】_第18张图片
答案:B
【解析】
(1)空串
(2)a,b,c
(3)ab,bc,ca
(4)abc,bca,cab
(5)abca,bcab
(6)abcab
共1+3+3+3+2+1=13个互不相同的子串。
csp-j(2022)初赛解析【选择题】_第19张图片
答案:B
【解析】递归用一句话来表示就是自己调用自己。它是一种函数用法。

你可能感兴趣的:(链表,数据结构,c++)