文章

782

粉丝

21

获赞

1

访问

265.3k

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


评分及理由

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

得分:2分

理由:学生答案的基本设计思想存在部分正确性。学生提到了记录入度、检查入度为0的顶点个数等关键步骤,这是拓扑排序判断唯一性的核心思路。但是描述中存在多处逻辑混乱和不准确:

  • 初始时检查num初值不为1就返回0,这过于绝对,因为拓扑序列唯一性需要在每一步都检查入度为0的顶点个数
  • 描述中的"将sum[i]减一"、"若Edge[P][i]为1"等语句逻辑关系不清晰
  • 对nextnum的处理逻辑描述混乱,无法准确反映算法流程

虽然抓住了核心思想,但具体实现思路描述不清晰,存在逻辑错误。

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

得分:3分

理由:代码实现存在多处严重逻辑错误:

  1. 入度计算错误:代码中判断条件是"if (Edge[i][j] == 0)",这实际上是计算出度而不是入度
  2. 数组初始化错误:int sum[MAXV] = 0; 语法错误,应该用循环初始化或{0}
  3. 变量使用错误:代码中使用了未定义的Edge,应该是G.Edge
  4. 循环条件错误:使用MAXV而不是G.numVertices,可能访问越界
  5. 核心算法逻辑错误:while循环和nextP的处理逻辑混乱,无法正确实现拓扑排序
  6. 唯一性判断逻辑错误:最后的nextnum判断逻辑不正确

虽然代码框架包含了拓扑排序的一些元素,但核心逻辑完全错误,无法正确实现功能。

题目总分:2+3=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发