文章

189

粉丝

0

获赞

1

访问

80.8k

头像
2022年(408)计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年11月20日 15:39
阅读数 275


评分及理由

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

得分:2分

理由:学生答案的基本设计思想存在以下问题:
1. 对二叉搜索树的性质理解有误。二叉搜索树要求左子树所有节点值小于根节点,右子树所有节点值大于根节点,而不仅仅是与直接左右孩子比较。学生只比较了直接左右孩子,没有考虑整个子树的约束。
2. 顺序存储的下标计算错误。在C/C++中数组下标从0开始,左孩子应该是2*i+1,右孩子是2*i+2,而学生写成了2*i和2*i+1。
3. 基本思路不完整,没有考虑递归或中序遍历等完整验证方法。
但学生意识到了需要遍历节点并与左右孩子比较,有一定正确思路,故给2分。

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

得分:3分

理由:代码实现存在严重逻辑错误:
1. 下标计算错误:左孩子应为2*i+1,右孩子应为2*i+2
2. 二叉搜索树判断逻辑错误:只检查了直接左右孩子,没有考虑整个子树的范围约束
3. 循环条件不当:i <= (T.ElemNum-1)/2 不能保证遍历所有需要检查的节点
4. else return false逻辑错误:当节点为-1时直接返回false,这是错误的
5. flag设置不当:只要有一次比较满足条件就设flag为true,没有考虑所有情况
但代码框架基本正确,有循环遍历和条件判断的结构,故给3分。

题目总分:2+3=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发