文章
133
粉丝
0
获赞
0
访问
13.5k

评分及理由
(1)得分及理由(满分4分)
得分:1分
理由:学生的基本设计思想存在严重逻辑错误。虽然正确指出了二叉搜索树的性质(左子树值小于根节点,右子树值大于根节点)和顺序存储的特点(左孩子下标2i+1,右孩子下标2i+2),但提出的遍历判断方法仅检查了每个节点与其直接左右孩子的关系,没有考虑整个子树的约束条件。例如,在右子树的左子树中可能出现比根节点小的值,这种方法无法检测到这类错误。因此设计思想存在根本性缺陷,扣3分。
(2)得分及理由(满分9分)
得分:2分
理由:代码实现与设计思想一致,但存在以下逻辑错误:
1. 仅检查节点与直接孩子的关系,没有递归检查整个子树(-4分)
2. 变量名使用不规范(SqBiTNode应为T.SqBiTNode,T.elemNum应为T.ElemNum),但考虑到可能是识别错误,不扣分
3. 逻辑判断条件错误:应该是左孩子值小于等于根节点,右孩子值大于等于根节点,但代码中写反了(key < SqBiTNode[2*i+1]应为key > SqBiTNode[2*i+1],key > SqBiTNode[2*i+2]应为key < SqBiTNode[2*i+2])(-3分)
代码基本框架正确,能遍历数组并检查部分条件,给予基础分2分。
题目总分:1+2=3分
登录后发布评论
暂无评论,来抢沙发