科目组合
计算机: 数据结构 、计算机组成原理 、操作系统 、计算机网络
(1)采用递归算法先序遍历二叉树,遍历时若当前节点不为空,每次将k加上当前节点的权值,并对pathLen加1。若节点为空,则循环输出path数组。
(2)
void FindValidpaths(BiTree T,int k,int *path,int pathLen){
if(T==NULL)
{
for(int i=0,i<pathLen;i++)
{
cout<<path[i];
}
}else
{
k=k+T.val;
pathLen++;
path[pathLen]=T.val;
FindValidpaths(T.left,k,path,pathLen);
FindValidpaths(T.right,k,path,pathLen);
}
}
(3)时间复杂度O(n2),空间复杂度O(n2)
评分及理由
(1)得分及理由(满分4分)
得分:1分
理由:
(2)得分及理由(满分7分)
得分:2分
理由:
(3)得分及理由(满分2分)
得分:0分
理由:
题目总分:1+2+0=3分
(1)ASL:21/8
(2)15->20->18.关键字比较次数:3

评分及理由
(1)得分及理由(满分4分)
学生给出了ASL计算结果21/8(即2.625),与标准答案一致,得2分;但题目要求画出BST结构,学生未提供图形,仅通过文字公式间接体现深度分布(1+2×2+3×4+4对应深度分布),未完整展示树形结构,扣2分。本小题得2分。
(2)得分及理由(满分3分)
学生正确给出查找路径"15→20→18"和比较次数3,与标准答案完全一致,得3分。
(3)得分及理由(满分3分)
学生提到"交换元素20,25,删除20",符合BST删除非叶子节点的中序后继替换法思路,但未完整说明删除过程(如未明确说明25是20的中序后继节点)且未提供删除后的树形结构,扣2分。本小题得1分。
题目总分:2+3+1=6分
(1)cache组号:6,块内地址:6,31-20位可以用作cache索引
(2)01C00830H,32
(3)110000=48,缺失率为6.25%,平均访问时间1×(1-0.0625)+181×(0.0625)=12.25
(4)三个页中,3次
评分及理由
(1)得分及理由(满分3分)
学生答案:cache组号6位、块内地址6位正确(各得1分),但VA索引位回答"31-20位"错误(应取页内偏移的高6位,即VA11~VA6)。扣1分,得2分。
(2)得分及理由(满分4分)
学生答案:a[512]的VA地址01C00830H正确(得2分),Cache组号32正确(得2分)。得4分。
(3)得分及理由(满分4分)
学生答案:a[0]块内偏移48正确(得1分),但缺失率6.25%错误(正确应为3.13%,学生可能只计算了读缺失而忽略写操作),平均访问时间12.25错误(因缺失率计算错误导致)。扣3分,得1分。
(4)得分及理由(满分2分)
学生答案:页数"三个页"错误(正确为2页),缺页次数"3次"错误(正确为2次)。扣2分,得0分。
题目总分:2+4+1+0=7分
(1)8345FC01H
(2)跳跃寻址,00402064H-00402057H+2H=0000000EH,目的地址=00402057H+0000000EH+2H=00402064H
(3)立即寻址,找出i和j对应的地址并计算64×i+j所在地址,(EA)=i×64×4+j×4+00431000H,小端方式
(4)会,块号占6位,行号占10位,第一次访问a[i][j]时行号为0001000000,和指令行号0010000001不同,此前也没有将该主存块放入cache中,会产生cache缺失
评分及理由
(1)得分及理由(满分2分)
学生答案:8345FC01H(错误)
标准答案:0040207CH
扣分理由:学生给出的地址格式错误且数值不正确。第11条指令地址应通过第10条指令地址(00402071H)加上其指令长度(11字节=0BH)计算得到:00402071H+0BH=0040207CH。学生答案8345FC01H可能是将指令机器码误认为地址,属于逻辑错误。
得分:0分
(2)得分及理由(满分3分)
学生答案:寻址方式"跳跃寻址"(不准确),偏移量计算过程错误
标准答案:相对寻址,偏移量0BH
扣分理由:
得分:1分(仅因指出目标地址正确给1分)
(3)得分及理由(满分3分)
学生答案:
扣分理由:
得分:2.5分
(4)得分及理由(满分2分)
学生答案:结论正确但分析过程有误
扣分理由:
得分:1分
题目总分:0+1+2.5+1=4.5分
(1)完成时间:P1:18ms,P2:11ms,P3:23ms。周转时间:P1:18ms,P2:8ms,P3:18ms。平均周转时间:44/3ms。
(2)处于安全状态,P2->P1->P3。
(3)
semaphore one=0;//P1是否完成打印机使用
semaphore two=0;//P2是否完成扫描仪的使用
P1{
request(A,x);
使用打印机;
release(A,x);
V(one);
}
P2{
request(B,x);
request(B,y);
使用打印机;
release(B,x);
P(one);
使用扫描仪;
release(B,y);
V(two);
}
P3{
P(two )
request(C,x);
使用打印机;
release(C,x);
}
评分及理由
(1)得分及理由(满分2分)
学生答案中完成时间、周转时间计算完全正确,平均周转时间计算也正确(44/3ms ≈ 14.67ms)。答案与标准答案一致,得2分。
(2)得分及理由(满分2分)
学生正确判断系统处于安全状态,给出的安全序列P2→P1→P3是标准答案中提到的可行序列之一。虽然学生没有展示完整的银行家算法计算过程,但结论正确且序列有效,得2分。
(3)得分及理由(满分4分)
学生答案存在多处逻辑错误:
由于存在多处逻辑错误,扣3分,得1分。
题目总分:2+2+1=5分
(1)叶号位数:4,叶内偏移位数:12。Ox1A3F对应的页号为:1,对应的页内偏移为:2623。
(2)物理块数为3时,FIFO缺页次数:15次,LRU缺页次数:12次。物理块为4时,FIFO缺页次数:9次,LRU缺页次数:8次。出现了Belady异常。
(3)20×100ns+12×20000ns=242000.0ns
评分及理由
(1)得分及理由(满分2分)
学生答案中页号位数4、页内偏移位数12正确,逻辑地址0x1A3F对应的页号1和页内偏移2623也正确。但"叶号"应为"页号",属于笔误但不影响理解,不扣分。得2分。
(2)得分及理由(满分3分)
物理块数为3时:FIFO缺页15次正确,LRU缺页12次正确。
物理块数为4时:FIFO缺页9次错误(应为10次),LRU缺页8次正确。
Belady异常判断错误(FIFO从15次到10次,缺页次数减少,未出现Belady异常)。
扣分:FIFO在m=4时缺页次数计算错误扣1分,Belady异常判断错误扣1分。得1分。
(3)得分及理由(满分2分)
学生计算式为20×100ns+12×20000ns=242000.0ns,这是错误的理解。
正确理解:总访问次数为20次,其中12次缺页需要中断处理,8次正常访问。
有效访问时间应为:(缺页次数×缺页处理时间 + 总访问次数×内存访问时间)/总访问次数
学生计算逻辑错误,得0分。
题目总分:2+1+0=3分
(1)子网掩码:255.255.255.224,网络地址:192.168.1.0,192.168.1.32,192.168.1.64,192.168.1.96,可用IP地址范围:192.168.1.1-192.168.1.30,192.168.1.33-192.168.1.62,192.168.1.65-192.168.1.94,192.168.1.97-192.168.126。
(2)第一次:SYN:1,ACK:0,seq:1000,ack:2000
第二次:SYN:1,ACK:1,seq:2000,ack:2001
(3)8KB×8/200ms=163840kbps
(4)ICMP询问报文,该报文只含一个字段,用以检查是否能与A连通传输数据。
评分及理由
(1)得分及理由(满分3分)
学生给出的子网掩码为255.255.255.224(/27),但标准答案为255.255.255.192(/26)。题目要求每个子网至少支持20台主机,/27子网的主机位为5位,可用IP数为30(2^5-2=30),虽然满足主机数要求,但题目要求划分4个均等子网,/27只能划分8个子网,而学生列出了4个网络地址(192.168.1.0、192.168.1.32、192.168.1.64、192.168.1.96),但每个子网的可用IP范围计算有误(例如192.168.1.0/27的可用IP应为1~30,学生写为1~30正确,但192.168.1.32/27的可用IP应为33~62,学生写为33~62错误地写成了33~62?实际学生写的是33~62?核对:学生写的是192.168.1.33-192.168.1.62,但192.168.1.32是网络地址,192.168.1.63是广播地址,所以可用IP是33~62,学生写33~62正确?但学生整体思路错误在于使用了/27而不是/26,导致子网划分不符合"均等划分4个子网"的要求(/27会划分8个子网,但学生只列出了4个,且未指定哪个是E1接口所在子网)。此外,主机A的IP为192.168.1.30,在/26下属于192.168.1.0/26子网,而学生使用/27后,192.168.1.30属于192.168.1.0/27子网,但学生列出了多个网络地址,未明确E1接口子网。关键错误:子网掩码错误,且网络地址和IP范围基于错误掩码计算。扣分:子网掩码错误扣1分,网络地址和IP范围因基于错误掩码计算且未明确E1子网扣1分,部分范围计算错误扣0.5分(如192.168.1.97-192.168.126中126错误,应为192.168.1.97-192.168.1.126?但192.168.1.96/27的广播地址是192.168.1.127,所以可用IP是97~126,学生写97~126正确?但学生写的是192.168.1.97-192.168.126,缺少".1",可能为笔误)。综合,本小题得0.5分(思路部分正确,但主要参数错误)。
(2)得分及理由(满分2分)
第一次握手:学生写SYN=1、ACK=0正确,seq=1000正确,但ack=2000错误(ack在第一次握手中不应存在,因为ACK标志为0)。第二次握手:学生写SYN=1、ACK=1正确,seq=2000正确,但ack=2001错误(ack应为客户端ISN+1=1001,而非服务器ISN+1)。关键错误:两次握手的ack字段均错误,第一次握手不应有ack值,第二次握手ack值计算错误。扣分:每次握手ack错误各扣0.5分,其他字段正确不扣分。本小题得1分。
(3)得分及理由(满分1分)
学生计算过程:8KB×8/200ms=163840kbps。但单位转换错误:8KB=8×1024=8192字节,转换为比特为8192×8=65536比特,RTT=200ms=0.2秒,吞吐量=65536/0.2=327680bps=327680/1024=320kbps。学生直接使用8KB×8得到64kb(错误,应为8192×8=65536b),然后除以200ms(0.2s)得到327680bps,但学生写为163840kbps,数值和单位均错误(163840kbps远大于实际值)。扣分:计算过程逻辑错误,结果完全错误。本小题得0分。
(4)得分及理由(满分3分)
学生回答:ICMP询问报文,该报文只含一个字段,用以检查是否能与A连通传输数据。但标准答案为ICMP目的不可达报文(类型3,代码0)。学生未正确识别报文类型,且描述模糊错误(ICMP询问报文通常指回显请求/回复等,与场景不符)。关键错误:类型、代码值未给出,原因描述错误。扣分:报文类型错误扣1分,类型和代码值未给出扣1分,原因错误扣1分。本小题得0分。
题目总分:0.5+1+0+0=1.5分