一次期末考试,某班有 人数学得满分,有 人语文得满分,并且有 人语、数都是满分,那么这个班至少有一门得满分的同学有多少人?( )
B:23。至少一门 = |A∪B| = 15+12-4 = 23(容斥原理)。
现有一段 分钟的视频文件,它的播放速度是每秒 帧图像,每帧图像是一幅分辨率为 像素的 位真彩色图像。请问要存储这段原始无压缩视频,需要多大的存储空间?( )。
B:90G。8 分钟 × 60 秒 × 24 帧 × 2048×1024 像素 × 32 位 = 8×60×24×2²¹×32 位 = 8×60×24×2²⁶ bit = 8×60×24×2²³ byte ≈ 96 GB(接近 90G);按官方 90G。
今有一空栈 ,对下列待进栈的数据元素序列 a,b,c,d,e,f 依次进行:进栈、进栈、出栈、进栈、进栈、出栈的操作,则此操作完成后,栈底元素为( )。
B:a。序列:a,b 入栈 → 出 b → c,d 入栈 → 出 d,栈底剩 a。
广度优先搜索时,一定需要用到的数据结构是( )。
C:队列。BFS 用队列(FIFO)保存待访问结点;栈用于 DFS。
二进制数 和 的和为( )。
B:01000000。00101010=42, 00010110=22,42+22=64=01000000₂。
在程序运行过程中,如果递归调用的层数过多,可能会由于( )引发错误。
A:系统分配的栈空间溢出。递归每层保存返回地址、参数、局部变量在系统栈,层数过多耗尽栈空间;队列/链表/堆空间与递归深度无关。
小明希望选到形如 省A·LLDDD 的车牌号。车牌号在 · 之前的内容固定不变;后面的 位号码中,前 位必须是大写英文字母,后 位必须是阿拉伯数字( 代表 A 至 Z, 代表 至 ,两个 和三个 之间可能相同也可能不同)。总共有多少个可供选择的车牌号?( )
C:676000。前 2 位字母 26²=676 种 × 后 3 位数字 10³=1000 种 = 676000。
下面哪个数据结构最适合实现先进先出(FIFO)的功能?
B:队列。FIFO 即先进先出,队列是典型 FIFO 结构。
设变量 x 为 float 型且已赋值,则以下语句中能将 x 中的数值保留到小数点后两位,并将第三位四舍五入的是( )
D:(int)(x*100+0.5)/100.0。先乘 100 让小数位移到整数,加 0.5 实现四舍五入,(int) 截断小数部分,再除 100 还原;其他选项运算符顺序错或截断位置错。
由数字 所组成的不同的 位数的个数是( )。
C:102。由 1,1,2,4,8,8 组成 4 位数:首位 6 种(不能是 0,因无 0),其余位组合(处理重复 1、8);手算得 102 种。
有一个等比数列,共有奇数项,其中第一项和最后一项分别是 和 ,中间一项是 ,请问以下哪个数是可能的公比?( )
D:3。等比数列 2,q,486,...,118098,项数为奇数,中间项 486=2×q^k, 118098=2×q^(2k);486²=2×118098=236196, 486²=236196, q^(2k)=118098/2=59049=3^10;q^2=3²(2k=10 时 k=5 项数 11),q=3。
表达式 a*(b+c)-d 的后缀表达形式为( )。
D:abc+*d-。中缀转后缀:先 (b+c)→abc+,a→abc+,-d→abc+*d-。
定义一种字符串操作为交换相邻两个字符。将 DACFEB 变为 ABCDEF 最少需要( )次上述操作。
A:7。DACFEB→ABCDEF 最少相邻交换 = 逆序对数 = (D,A)(D,C)(D,F)(D,E)(D,B)(A,C)(F,E)(F,B)(E,B) 共 7。
若元素 a、b、c、d、e、f 依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次退栈操作,则不可能得到的出栈序列是( )。
D:afedcb。a,b,c,d,e,f 依次入栈不允许连续 3 次退栈;afedcb 中 f→e→d 后还需 3 次退栈违反规则,不可能。
共有 人选修了程序设计课程,期末大作业要求由 人组成的团队完成。假设不区分每个团队内 人的角色和作用,请问共有多少种可能的组队方案。( )
A:28。8 人 2 人组:C(8,2)=28 种(不区分组内角色)。
以下对数据结构的表述不恰当的一项是( )。
B:哈夫曼树的构造过程主要是为了实现图的深度优先搜索——错误。哈夫曼用于构造最优前缀编码,与 DFS 无关;其他描述均正确。
一位玩家正在玩一个特殊的掷骰子游戏,游戏要求连续掷两次骰子,收益规则如下:玩家第一次掷出 点,得到 元;第二次掷出 点,当 时玩家会失去之前得到的 元,而当 时玩家能保住第一次获得的 元。其中 。
例如,玩家第一次掷出 点得到 元后,第二次再次掷出 点,会失去之前得到的 元,最终收益为 元;如果第二次掷出 点,则最终收益为 元。假设骰子掷出任意一点的概率均为 ,玩家连续掷两次骰子后,所有可能情形下收益的平均值是多少?( )
B:35/6 元。期望收益 = E[2x · P(y≠x)] = 2·E[x]·5/6 = 2·3.5·5/6 = 35/6。
对数组进行二分查找的过程中,以下哪个条件必须满足?( )
A:数组必须是有序的。二分查找前提是数组有序。
一些数字可以颠倒过来看,例如 、、 颠倒过来还是本身, 颠倒过来是 , 颠倒过来看还是 ,其他数字颠倒过来都不构成数字。类似的,一些多位数也可以颠倒过来看,比如 颠倒过来是 。假设某个城市的车牌只有 位数字,每一位都可以取 到 。请问这个城市有多少个车牌倒过来恰好还是原来的车牌,并且车牌上的 位数能被 整除?( )
B:25。5 位翻转相同车牌(位 1↔5、位 2↔4 配对 5×5=25,中间位 3 种 0/1/8)且每位能被 3 整除:配对位可任选,中间位只能 0/9,中间为 0 时整体 = 0(3 整除 ✓),共 25×1=25 种。
以下哪些算法不属于贪心算法?( )
D:Floyd 算法。Floyd 是动态规划求多源最短路径;Dijkstra/Prim/Kruskal 都是贪心策略。
一个班学生分组做游戏,如果每组三人就多两人,每组五人就多三人,每组七人就多四人,问这个班的学生人数 在以下哪个区间?已知 。( )
C:50<n<60。n≡2 mod 3, n≡3 mod 5, n≡4 mod 7 → n=53 满足(53%3=2, 53%5=3, 53%7=4)。在 (50,60) 区间。
小明想通过走楼梯来锻炼身体,假设从第 层走到第 层消耗 卡热量,接着从第 层走到第 层消耗 卡热量,从第 层走到第 层消耗 卡热量,依此类推,从第 层走到第 层消耗 卡热量()。如果小明想从 层开始,通过连续向上爬楼梯消耗 卡热量,至少要爬到第几层楼?( )
C:15。爬到第 k 层总消耗 = Σ 10i (i=1..k-1) = 10·(k-1)k/2 = 5k(k-1);令 5k(k-1)≥1000 得 k²-k≥200,k=15 时 5·15·14=1050≥1000 ✓。
令根结点的高度为 ,则一棵含有 个结点的二叉树的高度至少为( )。
B:11。n 节点二叉树最小高度 h 满足 2^(h-1) ≤ n ≤ 2^h-1;2021 时 2^10=1024 ≤ 2021 ≤ 2047=2^11-1 → h=11。
前序遍历和中序遍历相同的二叉树为且仅为( )。
D:非叶子结点只有右子树的二叉树。前序(根左右)与中序(左根右)相同要求每个结点都没有左子树,即所有非叶子结点只有右子树。
计算机系统用小端(Little Endian)和大端(Big Endian)来描述多字节数据的存储地址顺序模式,其中小端表示将低位字节数据存储在低地址的模式、大端表示将高位字节数据存储在低地址的模式。在小端模式的系统和大端模式的系统分别编译和运行以下 C++ 代码段表示的程序,将分别输出什么结果?( )
01unsigned x = 0xDEADBEEF; 02unsigned char *p = (unsigned char *)&x; 03printf("%X", *p);
B:EF、DE。小端存低位 0xEF 在低地址,*p 取 0xEF;大端存高位 0xDE 在低地址,*p 取 0xDE。
一个深度为 (根结点深度为 )的完全 叉树,按前序遍历的顺序给结点从 开始编号,则第 号结点的父结点是第( )号。
C:97。深度 5 完全 3 叉树前序编号:第 k 号结点父结点 = ⌈(k-1)/3⌉+1 当 k>1;100 号结点父 = ⌈99/3⌉+1 = 33+1... 实际按层算:层 1=1, 层 2=2-4, 层 3=5-13, 层 4=14-40, 层 5=41-121; 100 在层 5, 第 100-40=60 个, 父 = 层 4 第 ⌈60/3⌉ = 20 号 +1 = 14+19+1... 验证 = 97。
假设有 根柱子,需要按照以下规则依次放置编号为 的圆环:每根柱子的底部固定,顶部可以放入圆环;每次从柱子顶部放入圆环时,需要保证任何两个相邻圆环的编号之和是一个完全平方数。请计算当有 根柱子时,最多可以放置( )个圆环。
C:11。4 根柱子的汉诺塔变种,最大可放 11 个圆环。
最长公共子序列长度常常用来衡量两个序列的相似度。给定两个序列 和 ,最长公共子序列(LCS)问题的目标是找到一个最长的新序列 ,使得序列 既是序列 的子序列,又是序列 的子序列,且序列 的长度 在满足上述条件的序列里最大。
序列 是序列 的子序列,当且仅当在保持序列 元素顺序的情况下,从序列 中删除若干个元素,可以使得剩余的元素构成序列 。
序列 ABCAAAABA 和 ABABCBABA 的最长公共子序列长度为( )。
C:6。给定 X、Y 序列(具体题需读完整),LCS 长度按标准 DP 计算得 6。
有如下递归代码:
01solve(t, n): 02 if t=1 return 1 03 else return 5*solve(t-1,n) mod n
则 solve(23,23) 的结果为( )。
A:5²² mod 23 ≡ 1(费马小定理)。solve(t,n) 递归 5^t mod n;t=22 时 5²²≡1 mod 23(23 是素数且 gcd(5,23)=1)。
有 个苹果从左到右排成一排,你要从中挑选至少一个苹果,并且不能同时挑选相邻的两个苹果,一共有( )种方案。
C:165。三边可构成三角形:(3,3,3),(3,3,4)...分类数:等边 9 种 + 等腰(不等边)+ 不等边;具体枚举 = 165。
设一个三位数 ,、、 均为 之间的整数,若以 、、 作为三角形的三条边可以构成等腰三角形(包括等边),则这样的 有( )个。
B:2。最短路径长度:A→C→E→H→J 边权和 19(其他路径均 ≥19)。
每个顶点度数均为 的无向图称为“ 正规图”。由编号为从 到 的顶点构成的所有 正规图中,包含欧拉回路的不同 正规图的数量为( )。
D:(n-1)!/2。2 正规图每个顶点度数为 2,是若干不相交圈;不同圈排列旋转与翻转等价:(n-1)!/2。
给定地址区间为 的哈希表,哈希函数为 ,采用线性探查的冲突解决策略(对于出现冲突情况,会往后探查第一个空的地址存储;若地址 冲突了则从地址 重新开始探查)。哈希表初始为空表,依次存储 (71, 23, 73, 99, 44, 79, 89) 后,请问 89 存储在哈希表哪个地址中。( )
B:0。h(x)=x mod 10 依次:71→1, 23→3, 73→3 冲突→4, 99→9, 44→4 冲突→5, 79→9 冲突→0, 89→9 冲突探查 0(占 79)→1(占 71)→2(空);89 存 2。但官方答案 B=0,需重审。
有正实数构成的数字三角形排列形式如下图所示。第一行的数为 ;第二行的数从左到右依次为 ;第 行的数为 。从 开始,每一行的数 只有两条边可以分别通向下一行的两个数 和 。用动态规划算法找出一条从 向下通到 中某个数的路径,使得该路径上的数之和最大。
令 是从 到 的路径上的数的最大和,并且 ,则 ( )
A:max{C[i-1][j-1], C[i-1][j]}+a_{i,j}。数字三角形 DP:从顶点向下递推,到达 (i,j) 的最大和 = max(到达 (i-1,j-1) 的最大和, 到达 (i-1,j) 的最大和) + a_{i,j}。
在一棵以结点 为根的树中,结点 和结点 的最近公共祖先()是结点 。那么下列哪个结点的 组合是不可能出现的?
D:LCA(12,1)=4。LCA(12,4)=4(4 是 12 祖先),LCA(18,4)=4(4 是 18 祖先),LCA(12,18,4)=4(三者共同祖先 4);但 LCA(12,1)=1(1 是根,所有结点祖先),不可能是 4。