文章
164
粉丝
0
获赞
1
访问
89.4k
(1)某点的入度即为临接矩阵中该所对应的列中不为0的值总和,出度即为改点邻接矩阵所对应的行中不为0的值总和,采用一个count记录K节点个数,对于每个节点,依次遍历其所在行和所在列得到入度和出度值,若满足出度大于入度,则count++,最后输出count即可
(2)
int printVertices(MGraph G)
{
int count=0;
for(int i=0;i<numVertices;i++)
{
int indegree=0;
int outdegree=0;
for(int j=0;j<numVertices;j++)
{
outdegree+= M.Edge[i][j];
indegree+= M.Edge[j][i];
}
if(outdegree>indegree)count++;
}
return count;
}
评分及理由
(1)得分及理由(满分4分)
得分:4分
理由:学生的设计思想描述清晰正确。准确指出了通过遍历邻接矩阵的行来计算顶点的出度(对应行非零元素之和),通过遍历邻接矩阵的列来计算顶点的入度(对应列非零元素之和),然后比较出度和入度,统计满足出度大于入度的顶点个数。思路与标准答案完全一致。
(2)得分及理由(满分9分)
得分:6分
理由:代码逻辑基本正确,能够实现统计K顶点个数的核心功能。但存在以下错误和不足:
numVertices 和 M.Edge,应为 G.numVertices 和 G.Edge。这是严重的语法错误,属于逻辑错误,扣2分。题目总分:4+6=10分
登录后发布评论
暂无评论,来抢沙发