文章
219
粉丝
165
获赞
239
访问
102.5k
(1) 设当前节点的值是x。
若x的值比K大,则x的右儿子及其子树的值均比x大,则均不可能比x更加优。
若x的值比K小,则x的左儿子及其子树的值均比x小,则均不可能比x更加优
(2)
void solve(BSTNode* root){
}
评分及理由
(1)得分及理由(满分4分)
得分:2分
理由:学生的基本思想部分指出了在二叉搜索树中,当当前节点值大于K时,其右子树的所有节点值都更大,与K的差值会更大;当当前节点值小于K时,其左子树的所有节点值都更小,与K的差值也会更大。这个观察是正确的,并且是解决“查找与K差值最小的节点”这一问题的关键思路之一(即利用BST的性质进行剪枝)。然而,学生的描述过于简略,没有形成一个完整的算法流程(例如,如何初始化、如何更新最小值、如何遍历、何时停止、如何处理多个节点差值相同的情况等),也没有明确提到中序遍历或利用有序性。因此,扣2分。
(2)得分及理由(满分8分)
得分:0分
理由:学生只给出了一个空的函数框架 `void solve(BSTNode* root){}`,没有任何实际的算法实现。题目要求“使用 C/C++描述算法思想”,即需要写出完整的算法代码或伪代码。学生的作答完全没有满足这一要求,因此本部分得0分。
题目总分:2+0=2分
登录后发布评论
暂无评论,来抢沙发