评分及理由
(1)得分及理由(满分4分)
学生答案的基本设计思想正确:
- 正确提到了使用入度数组(indegree)记录每个顶点的入度
- 正确描述了拓扑排序的核心过程:寻找入度为0的顶点,删除该顶点并更新相关顶点的入度
- 正确指出了判断唯一性的关键:每个时刻只能有一个入度为0的顶点
但答案中"循环拓扑图中所示时"表述不够清晰,存在少量语言表达问题。整体思路与标准答案一致。
得分:4分
(2)得分及理由(满分9分)
代码实现存在以下问题:
- 初始化入度数组时未清零:indegree数组分配后未初始化为0,可能导致计算错误(逻辑错误,扣2分)
- 入度计算循环条件错误:两个循环条件都写成了"j < 0"和"i < 0",这会导致入度计算完全无法执行(严重逻辑错误,扣3分)
- 拓扑排序逻辑错误:内层循环中一旦找到入度为0的顶点就立即更新其邻接顶点的入度,这会导致在同一轮中可能处理多个入度为0的顶点,无法正确判断唯一性(核心逻辑错误,扣3分)
- count变量的使用逻辑错误:count用于记录入度为0的顶点总数,而不是每轮中入度为0的顶点数,无法正确判断唯一性(逻辑错误,扣1分)
代码虽然包含了拓扑排序的基本框架,但核心逻辑存在严重问题,无法正确实现题目要求的功能。
得分:9 - 2 - 3 - 3 - 1 = 0分
题目总分:4+0=4分
登录后发布评论
暂无评论,来抢沙发