文章

117

粉丝

160

获赞

0

访问

3.7k

头像
2024年(408)计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年12月7日 19:12
阅读数 23


评分及理由

(1)得分及理由(满分4分)

得分:2分

理由:学生给出的算法思想基本正确,即通过寻找入度为0的顶点进行拓扑排序,并判断是否存在多个入度为0的顶点来确定拓扑序列是否唯一。但描述中存在不准确之处:寻找入度为0的点应该是“第i行全为0”表示顶点i没有出边,但入度为0应该是“第i列全为0”(从邻接矩阵角度看,入度是列累加)。学生说“Edge[i][]全为0时,表示第i列全0”有混淆,实际应为“第i列全0表示顶点i入度为0”。不过核心思想正确,但表述不够清晰准确,扣2分。

(2)得分及理由(满分9分)

得分:3分

理由:学生代码尝试实现拓扑排序判断唯一性,但存在多处严重逻辑错误:
1. 代码中使用了未定义的变量名“Edge”,应为“G.Edge”。
2. 三层循环逻辑混乱:内层循环试图通过累加Edge[i][j]来判断入度,但累加的是固定位置的边值,且判断条件A[k]!=1与累加无关,无法正确计算入度。
3. 没有正确实现入度计算和更新过程,而是试图通过将出边置0来模拟删除顶点,但方法错误。
4. 循环结构错误:在每次外层循环中直接判断count==0并返回0,会导致过早退出,无法完成拓扑排序。
5. 最后检查A数组的循环逻辑错误,continue后没有实际作用,且无法正确判断是否所有顶点都被访问。
虽然代码框架试图实现拓扑排序,但核心逻辑完全错误,无法正确判断拓扑序列的唯一性。考虑到代码结构有一定拓扑排序的意图,给予3分基础分。

题目总分:2+3=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发