文章

8

粉丝

0

获赞

1

访问

561

头像
2023年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年6月28日 16:18
阅读数 31

1.遍历图的邻接矩阵,如果一行元素之和大于该列元素之和,则称为K顶点,输出并计数
2.

int printVertices(MGraph G){
    int count = 0;//K顶点的个数
    for (int num = 0; num < G.numVertices; ++num) {
        int row=0,con=0;//入度和出度的个数
        for (int i = 0; i < MAXV; ++i) {
            row += G.Edge[num][i];//出度
        }
        for (int i = 0; i < MAXV; ++i) {
            con += G.Edge[i][num];//入度
        }
        if(row>con){
            //入度大于出度,为K节点
            printf("%c",G.VerticesList[num]);
            count++;
        }
    }
    return count;
}

评分及理由

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

得分:3分

理由:学生的设计思想基本正确,提到了遍历邻接矩阵并比较行和列的和来判断K顶点。但描述不够详细,没有明确说明如何利用邻接矩阵统计入度和出度,也没有提到顶点名称的转换。因此扣1分。

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

得分:7分

理由:学生的代码实现基本正确,能够正确统计入度和出度并输出K顶点。但有以下问题:

  • 循环条件使用了MAXV而不是G.numVertices,这可能导致越界访问或统计错误,扣1分。
  • 注释中写的是“入度大于出度”,与题目要求的“出度大于入度”相反,属于逻辑错误,扣1分。

题目总分:3+7=10分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发