文章

161

粉丝

0

获赞

0

访问

20.1k

头像
2024年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年9月30日 19:45
阅读数 12

(1)遍历该有向图的邻接矩阵,计算每列数组元素为1的个数,即为该顶点的入度。若每次得到的入度为0的顶点唯一,
即G存在唯一的拓扑序列,返回1,否则返回0。


评分及理由

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

学生给出了基本正确的设计思想:通过计算入度,每次寻找入度为0的顶点,如果存在多个则返回0,否则继续处理。思路与标准答案一致,但表述不够详细,没有明确说明需要循环处理所有顶点以及如何更新入度。扣1分。

得分:3分

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

学生的代码实现存在以下问题:

  1. 语法错误:int loc - i=-1, loc - j=-1; 不符合C语言语法(识别问题,不扣分)
  2. 逻辑错误:外层循环和内层循环都使用变量i,造成变量重复定义和逻辑混乱
  3. 入度计算错误:在计算每个顶点的入度时,只检查了G.Edge[j][i] == 1,但应该累计所有指向该顶点的边
  4. 入度更新位置错误:在找到入度为0的顶点后,应该先处理完所有顶点再更新邻接矩阵,但代码中在每次内层循环后都更新
  5. 缺少入度数组:标准答案使用入度数组记录每个顶点的当前入度,而学生代码试图通过遍历邻接矩阵实时计算,效率低且逻辑复杂
  6. 循环结构混乱:多层循环嵌套关系不正确

由于存在多个逻辑错误,代码无法正确实现功能,扣6分。

得分:3分

题目总分:3+3=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发