文章
259
粉丝
6
获赞
5
访问
58.6k

评分及理由
(1)得分及理由(满分4分)
得分:4分
理由:学生的设计思想描述清晰准确,指出了唯一拓扑序列的两个关键条件:每一轮只有一个入度为0的结点,且最终能处理所有n个结点。这与标准答案的思路完全一致,因此得满分。
(2)得分及理由(满分9分)
得分:7分
理由:学生的代码实现基本正确,使用了栈结构来存储入度为0的结点,并正确实现了拓扑排序的核心逻辑。但存在以下逻辑错误:
if(top > 0) return 0;判断,这会导致如果初始时有2个入度为0的结点(top=1)会返回0,但如果有3个或更多(top>1)时,这个判断会漏掉,因为条件只检查>0而不是>1。正确应检查是否大于1个入度为0的结点,即if(top > 0)应改为if(top > 1)或if(top >= 1)(因为top是索引,实际数量是top+1)。这里是一个逻辑错误,扣1分。if(top > 0) return 0;同样存在上述问题,应检查是否有多于1个入度为0的结点(即top>=1),这里也扣1分。题目总分:4+7=11分
登录后发布评论
暂无评论,来抢沙发