科目组合
计算机: 数据结构 、计算机组成原理 、操作系统 、计算机网络
对二叉树进行中序通历,增加当的序号。
评分及理由
(1)得分及理由(满分5分)
得分:1分
理由:学生仅给出了“对二叉树进行中序遍历,增加适当的括号”这一句话。这确实是算法的核心思想,但描述过于简略,没有展开说明关键细节,例如:何时需要加括号(非叶子节点且深度大于1时),以及如何通过递归深度来控制括号的添加。标准答案中详细阐述了“分支结点所对应的子表达式的计算次序由该分支结点所处的位置决定”以及“最外层及操作数不需要添加括号”等关键点。因此,学生的作答只能视为部分正确,扣4分。
(2)得分及理由(满分10分)
得分:0分
理由:题目要求“根据设计思想,采用C或C++语言描述算法,关键之处给出注释。”学生完全没有提供任何代码实现,也没有对算法进行任何具体的语言描述。因此,本部分得分为0分。
题目总分:1+0=1分
A-d d-e e-c c-b唯一
评分及理由
(1)得分及理由(满分4分)
学生作答为“A-d d-e e-c c-b”。这描述了从顶点A开始,依次选择的边为(A,D)、(D,E)、(E,C)、(C,B)。该顺序与标准答案“(A,D),(D,E),(C,E),(B,C)”在第三条边和第四条边的选择上存在差异。
根据Prim算法,在选择了(A,D)和(D,E)后,已选顶点集合为{A, D, E}。此时,连接该集合与外部顶点的边中,权值最小的是(E,C)(权值为2)和(A,B)(权值为4)。通常算法会选择其中一条,例如(E,C)。选择(E,C)后,集合变为{A, D, E, C}。此时,连接该集合与外部顶点B的边中,权值最小的是(C,B)(权值为3)和(E,B)(权值为5),因此应选择(C,B)。学生的顺序“e-c c-b”与此过程一致。
然而,标准答案的第三条边是“(C,E)”,这与“(E,C)”是同一条无向边,只是顶点顺序不同,在算法执行中,选择这条边的时机和逻辑是相同的。标准答案的第四条边是“(B,C)”,这与学生的“(C,B)”也是同一条边。
因此,学生给出的边集和顺序在本质上是正确的,完全符合Prim算法的执行过程。根据评分说明“若考生选择的边正确,但次序不完全正确,酌情给分”,此处学生的次序与标准答案表述的次序在边的书写顺序上略有不同,但描述的算法步骤顺序正确,应给予满分。
得分:4分
(2)得分及理由(满分2分)
学生作答为“唯一”。这正确判断了该图的最小生成树是唯一的。
得分:2分
(3)得分及理由(满分2分)
学生未对第三问“满足什么条件时,其MST是唯一的?”作出回答。因此不得分。
得分:0分
题目总分:4+2+0=6分