文章
7
粉丝
0
获赞
0
访问
585
评分及理由
(1)得分及理由(满分3分)
学生答案中描述的思路是:从根节点开始遍历,当结点同时拥有左右子树时,找到该结点的直接前驱(左子树最大值)和直接后继(右子树最小值),然后计算当前结点值与这两个值的差,并判断是否相等。这与标准答案中的“次优解”思路一致,利用了二叉搜索树的性质,避免了遍历整个子树。因此,思路描述正确,得3分。
(2)得分及理由(满分9分)
学生提供的代码实现了上述思路,但存在以下逻辑错误:
根据标准答案“次优解”代码(6分版本),学生代码思路正确但实现有逻辑错误,因此扣分。具体扣分:条件判断错误(-3分),递归基不完整(-2分),其他小错误(-1分)。得分为9 - 3 - 2 - 1 = 3分。
(3)得分及理由(满分2分)
学生给出的时间复杂度为O(n log n),但根据标准答案“次优解”,时间复杂度应为O(nh)(h为树高),在平衡树中h=log n,因此为O(n log n),但最坏情况下(链状树)为O(n^2)。学生答案部分正确,但未说明最坏情况,且表述不精确(写为Onlogin,可能为识别错误)。因此扣1分,得1分。
题目总分:3+3+1=7分
登录后发布评论
暂无评论,来抢沙发