文章

7

粉丝

0

获赞

0

访问

635

头像
2025 年 9 月第 1 次 408 月考试卷 - 第41题回答
数据结构
发布于2025年9月20日 17:15
阅读数 80


评分及理由

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

学生答案中提到了后序遍历,并利用了二叉搜索树的性质(左<根<右),但设计思想描述过于简略,未明确说明如何计算左右子树与当前结点的最小距离(例如,最小距离应是左右子树中所有结点与当前结点差的最小绝对值,而非直接使用左右子结点的值)。标准答案中要求详细描述遍历过程及条件判断,学生答案未达到清晰描述的标准。得1分。

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

学生代码存在多处逻辑错误:
1. 递归调用未利用返回值(countNodes递归调用时未累加count,导致统计错误)。
2. 直接使用root->left->data和root->right->data,未检查左右子结点是否存在(若不存在则访问空指针,导致运行时错误)。
3. 条件判断错误:题目要求最小距离相等,但代码仅比较了直接子结点的差(a-b和c-a),未考虑子树中其他结点,且未取绝对值。
4. 局部变量count每次递归都会重置,无法正确统计总数。
代码逻辑与题目要求严重不符,但基本思路(后序遍历)部分正确。扣分严重,得1分(仅因后序遍历结构给分)。

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

学生声称时间复杂度为O(n),但因其代码逻辑错误,实际无法正确工作。若代码正确,后序遍历时间复杂度应为O(n),但此处因逻辑错误,时间复杂度分析无效。得0分。

题目总分:1+1+0=2分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发