文章

165

粉丝

0

获赞

10

访问

16.2k

头像
2024年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年10月16日 17:41
阅读数 77


评分及理由

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

得分:4分

理由:学生的设计思想与标准答案思路一致。通过遍历邻接矩阵的列(计算入度),寻找入度为0的顶点(全为0的列),如果存在多个入度为0的顶点则返回0,如果找不到入度为0的顶点也返回0,每次只处理一个入度为0的顶点,并将其对应行的边移除(将行置0)。思路正确且完整,符合拓扑排序判断唯一性的核心逻辑。

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

得分:6分

理由:代码整体框架正确,但存在以下逻辑错误:
1. 在第二个for循环中,变量j在循环结束后被使用(G.Edge[j][k]),此时j的值是循环结束后的值,未定义且逻辑错误。应该记录找到的入度为0的顶点索引,并用该索引来清零对应行。
2. 代码末尾有一个多余的"if(cnt == 0) return 0;",这个判断在循环结束后没有意义,且cnt变量在循环外不可访问,属于语法错误。
3. 在第一个内层循环中,一旦找到入度为0的顶点就立即标记visit[j]=1,但此时可能还没有检查完所有列,如果后面还有入度为0的顶点,cnt会继续增加,逻辑上是正确的,但标准做法通常是先统计所有入度为0的顶点数量,再处理。
扣分:第1个错误属于严重逻辑错误,扣2分;第2个错误属于语法和逻辑错误,扣1分。总计扣3分。

题目总分:4+6=10分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发