科目组合
计算机: 数据结构 、计算机组成原理 、操作系统 、计算机网络

评分及理由
(1)得分及理由(满分3分)
得分:3分。学生给出的设计思想是“用1个数 res,遍历 A,res^A[i],最后 res 即是要找的数”,即利用异或运算的性质:两个相同数异或为0,任何数与0异或不变。虽然题目额外给出了“相同元素一定相邻”的条件,但该条件并非必须使用,使用异或方法仍然正确且更简洁。思路正确,与标准答案不一致但不影响得分,故给满分3分。
(2)得分及理由(满分8分)
得分:8分。代码逻辑正确,实现了异或求解只出现一次的元素。变量初始化 `res = 0`,循环中 `res = A[i] ^ res`,最终返回 `res`。注释恰当,关键逻辑明确。无异或逻辑错误。虽然与标准答案的“相邻比较”方法不同,但属于正确解法,不扣分,给满分8分。
(3)得分及理由(满分2分)
得分:2分。学生给出的时间复杂度为 \(O(n)\),分析正确,与标准答案一致,给满分2分。两次识别结果均正确,无识别误写影响。
题目总分:3+8+2=13分

评分及理由
(1)得分及理由(满分4分)
学生回答“一定可以得到高为log₂N,编码长度相同的哈夫曼树”,核心结论正确。虽然标准答案中树的高度表述为(log₂N)+1,但这里的高度计算方式可能因是否把根节点所在层算作第0层或第1层而不同,不影响“所有字符编码长度相同、均为log₂N”这一核心逻辑。因此得4分。
(2)得分及理由(满分2分)
学生回答WPL为N×a×log₂N,正确。标准答案写的是N×log₂N,是因为标准答案默认频率a被约去或未显式代入;题目中字符出现频率均为a,因此每个叶子权值为a,WPL应为N×a×log₂N。学生答案正确,得2分。
(3)得分及理由(满分4分)
学生回答编码后最少为M×log₂N bit,正确。压缩比学生写为1−log₂N/8。标准答案中压缩比为(log₂N)/7,这是按“压缩后大小/压缩前大小”定义的压缩比;若按“压缩节省比例”定义,则应为1−(log₂N)/7,而不是1−(log₂N)/8。学生使用了8而非7,可能是因为认为ASCII码占8 bit,但题目标准答案按7 bit计算,此处存在计算错误。不过压缩后长度正确,压缩比部分错误。该小题满分4分,其中编码后长度正确给2分,压缩比错误扣2分,得2分。
题目总分:4+2+2=8分

评分及理由
(1)得分及理由(满分2分)
学生作答:时间局部性差,刚访问过的不会再访问;空间局部性好,访问过的数据会访问周围的数据。
该回答与标准答案一致:数组元素按连续存储,空间局部性好;每个元素只访问一次,时间局部性差。得2分。
(2)得分及理由(满分3分)
标准答案要点:直接映射,Cache共2行,块大小16B;x占2块对应第0、1行,y紧随其后也对应第0、1行;循环中访问x与y同一下标元素时不断替换同一Cache行,因此每次访问都不命中,命中率为0%。
学生作答认为只有x[0]、x[4]、y[0]、y[4]缺失,命中率为75%。这是错误的。学生没有考虑x和y映射到相同Cache行时发生的冲突替换,导致后续访问被换出。逻辑错误,不能得分。得0分。
(3)得分及理由(满分3分)
标准答案要点:2路组相联,块大小8B,共2组;x[0]~x[1]和y[0]~y[1]可放入同一组不同路;每次访问第一个元素不命中,第二个元素命中,命中率50%。
学生答案给出命中率50%,结论正确。虽然中间描述有些混乱(如“x[1]、x[0]调入cache”等),但核心逻辑是每个块存2个float且最终命中率为50%,与标准答案一致。得3分。
(4)得分及理由(满分3分)
标准答案要点:x定义为float[12],占用3个块,对应Cache行号为0、1、0;y占用2个块,对应行号为1、0;实际只访问x[0]~x[7]和y[0]~y[7];访问同一位置元素时冲突减少,只有4次不命中,命中率75%。
学生答案给出缺失元素为x[0]、x[4]、x[8]、y[0]、y[4]、y[8],共6次缺失,命中率75%。这里存在两个问题:x[8]和y[8]实际不会被访问(循环只到i<8),所以不能计入缺失;但学生最终命中率计算为(24-6)/24=75%,而标准答案为12/16=75%,结果巧合一致。由于缺失次数和访问次数均错误,逻辑有误,不能给满分。得0分。
题目总分:2+0+3+0=5分

评分及理由
(1)得分及理由(满分3分)
学生作答仅包含第(2)问的周转时间和响应时间,未画出第(1)问的进程执行顺序图,无法判断其执行顺序图是否正确,因此第(1)问不得分。得分:0分。
(2)得分及理由(满分4分)
根据标准答案:
学生作答中:
因此第(2)问扣1分,得分:3分。
题目总分:0+3=3分

评分及理由
(1)得分及理由(满分8分)
该生作答尝试使用信号量机制描述小和尚取水入缸、老和尚从缸取水的同步与互斥关系,整体思路有一定合理性,但在信号量使用和P/V操作顺序上存在明显逻辑错误,具体扣分如下:
其他细节:学生对mutex1、mutex2的注释为“桶、缸互斥”,但实际水桶数量已用t表示,这里存在概念混淆,但考虑到可能是识别或笔误,不额外扣分。整体上,学生答案虽有大方向(使用信号量、P/V操作),但核心逻辑错误较多,不能给满分。
综上所述,该题满分8分,扣分合计2+3+1+1=7分,得分1分。
题目总分:1分

评分及理由
(1)得分及理由(满分3分)
学生正确计算了信号在电缆中的传播时间 \(800/(2\times10^8)=4\mu s\),也正确计算了4个转发器引入的延时 \(4\times20bit/(100Mbit/s)=0.8\mu s\),并得出总传播时延 \(4.8\mu s\)。该问核心逻辑和结果均正确,得3分。
(2)得分及理由(满分6分)
学生识别到传输时延 \(1500bit/(100Mbit/s)=15\mu s\),并指出A的退避时间 \(r=0\),即A退避时间为0。但学生的计算式 \(T=2\times4.8\mu s+15\mu s=24.6\mu s\) 存在逻辑错误:
第一次碰撞发生后,A和B在 \(t=4.8\mu s\) 检测到碰撞并停止发送。按CSMA/CD机制,发生碰撞后需要继续发送完人为干扰信号(本题忽略),并且需要等待退避时间。A选择 \(r=0\),即退避时间为0个争用期。但A要重新发送,必须先检测到信道空闲。B在 \(t=4.8\mu s\) 检测到冲突后停止发送,B最后发送的比特到达A需要 \(4.8\mu s\),因此A直到 \(t=9.6\mu s\) 才能检测到信道空闲,之后才立即重传。A重传的第一个比特到达B需要 \(4.8\mu s\),故B在 \(t=14.4\mu s\) 收到A重传的第一个比特。A发送一帧需要 \(15\mu s\),因此B完全收到A发送的帧是在 \(t=14.4\mu s+15\mu s=29.4\mu s=2.94\times10^{-5}s\)。
学生只计算了 \(2\times4.8\mu s+15\mu s=24.6\mu s\),遗漏了A在检测到冲突后还需等待信道空闲的 \(4.8\mu s\)(即缺少从 \(9.6\mu s\) 到 \(14.4\mu s\) 的传播时间),把“检测到冲突”与“检测到信道空闲”混为一谈。因此B完全收到A帧的时间计算错误。
按6分制,学生正确写出传输时延15μs,且意识到A退避时间为0,有一定过程分,但最终结果错误,且关键时间线缺失,扣4分。得2分。
题目总分:3+2=5分