文章

259

粉丝

6

获赞

5

访问

58.6k

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


评分及理由

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

得分:4分

理由:学生的设计思想描述清晰准确,指出了唯一拓扑序列的两个关键条件:每一轮只有一个入度为0的结点,且最终能处理所有n个结点。这与标准答案的思路完全一致,因此得满分。

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

得分:7分

理由:学生的代码实现基本正确,使用了栈结构来存储入度为0的结点,并正确实现了拓扑排序的核心逻辑。但存在以下逻辑错误:

  • 在初始化入度数组后,第一次检查入度为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分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发