文章
161
粉丝
0
获赞
0
访问
32.7k

评分及理由
(1)得分及理由(满分4分)
学生给出了算法的基本设计思想:分别遍历第 i 行和第 i 列来统计出度和入度,然后比较出度与入度,若出度大于入度则记录并输出该顶点。这一思路与标准答案一致,正确描述了核心步骤。因此,本部分得满分 4 分。
(2)得分及理由(满分9分)
学生尝试用代码描述算法,但存在多处严重逻辑错误:
1. 代码中使用了未定义的变量(如 n、m、count 未初始化,且 n 应为图的顶点数 G.numVertices)。
2. 循环结构混乱:第二个 for(j = 0; j < n; i++) 中循环变量递增错误(应为 j++),且内部嵌套循环 for(int i2 = 0; i2 < n; i++) 的循环变量递增也错误(应为 i2++),同时循环体中的 Edge[i][j] 下标使用不当(应为 Edge[i2][j] 来统计入度)。
3. 统计逻辑错误:出度统计中 count++ 误用于统计边数而非顶点计数;入度统计的嵌套循环完全错误,无法正确计算入度。
4. 缺少顶点名称输出步骤,且整体代码无法正确实现算法功能。
尽管思路正确,但代码实现存在根本性错误,无法正确运行。根据评分标准,逻辑错误需扣分。考虑到代码部分满分9分,此处仅给予基本思路分,扣除大部分实现分数。给予 2 分(思路描述部分得分)。
题目总分:4+2=6分
登录后发布评论
暂无评论,来抢沙发