文章

63

粉丝

0

获赞

0

访问

3.1k

头像
2021年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年11月1日 16:57
阅读数 21

1.用整形变量count记录度为奇数的顶点个数,然后遍历邻接矩阵,无向图每遍历一行以后用degree统计该点的总度数,然后对2取余判断顶点的度数是否为奇数,是则count加一,最后统计count的值,若为不大于2的偶数则返回1,否则返回0

2.

int IsExistEL(MGraph G) {
        int count = 0;
        // 图中逐个顶点遍历
        for (int i = 0; i < G.numVertices; i++) {
            // 遍历邻接矩阵
            int degree = 0;
            for (int j = 0; j < G.numVertices; j++) {
                if (Edge[i][j] == 1) {
                    degree++;
                }
            }
            // 判断该点的总度数是否为奇数
            if(degree%2==1){
                count++;
            }
        }
        if(count==0||count==2){
            return 1;
        }
        return 0;
    }

3.时间复杂度为O(n^2),空间复杂度为O(1)


评分及理由

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

得分:4分

理由:学生的设计思想与标准答案完全一致。正确描述了统计每个顶点的度数,判断度数是否为奇数,并统计奇数度顶点的个数,最后检查个数是否为0或2。思路清晰完整,无逻辑错误。

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

得分:7分

理由:代码整体逻辑正确,但存在一处错误:在访问邻接矩阵时使用了"Edge[i][j]",而正确的应该是"G.Edge[i][j]",缺少了结构体变量名"G"。这是一个语法错误,但考虑到算法逻辑完全正确,扣2分。其他部分包括变量初始化、循环结构、条件判断等都正确实现。

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

得分:2分

理...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发