文章

302

粉丝

0

获赞

15

访问

142.8k

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


评分及理由

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

得分:4分

理由:学生的设计思想与标准答案基本一致。核心思路都是通过寻找入度为0的顶点来判断拓扑序列的唯一性。学生描述中"逐列遍历邻接矩阵"实际上就是在计算入度(因为列对应的是顶点的入边),"列元素全为0"对应入度为0。算法思想正确,完整描述了判断唯一拓扑序列的关键步骤:每次只能有一个入度为0的顶点,否则返回0;如果没有入度为0的顶点也返回0;成功处理所有顶点则返回1。

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

得分:7分

理由:代码整体思路正确,但存在以下问题:

  • 主要逻辑错误:在移除顶点时,学生代码使用"G.Edge[curNum][j] = 0"来模拟移除操作,但这实际上是在修改原始图的邻接矩阵,而标准做法应该是通过维护入度数组来模拟移除过程。这种做法虽然能达到类似效果,但会破坏原始图数据,且不符合拓扑排序的常规实现方式。(扣2分)
  • 变量定义问题:"bool isFind[G.numVertices]"在标准C中不支持变长数组,但考虑到可能是识别问题,不扣分。
  • 代码中"isFind"数组虽然定义了但未使用,这反映了逻辑上的不完整性,但考虑到核心算法正确,不额外扣分。

优点:代码结构清晰,正确实现了寻找入度为0的顶点、检查唯一性、模拟移除等关键步骤,整体逻辑完整。

题目总分:4+7=11分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发