文章

124

粉丝

0

获赞

0

访问

12.6k

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


评分及理由

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

学生答案的基本设计思想是:通过中序遍历将结点值存入数组,然后检查数组是否升序来判断是否为二叉搜索树。这与标准答案中的方法二思路一致,利用了二叉搜索树中序遍历为递增序列的性质。思路正确且完整,因此得4分。

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

学生的代码实现存在多处逻辑错误:

  • 函数名不一致:主函数调用midorder但实际实现为order_mid,且函数名存在拼写错误(如"is reach"应为"isBST"等)。
  • 全局变量CNT使用不当:未初始化且在多处递归调用中可能被重复修改,导致数组填充错误。
  • 递归终止条件错误:判断条件"T.SqBiTnode[i] == -1 && T.SqBiTnode[2*i+1] == -1"不完整,未考虑右子树情况,且未正确处理空结点(应用单个结点值是否为-1判断)。
  • 数组初始化问题:辅助数组A初始化为0,但实际应仅存储有效结点值,且中序遍历结果数量可能小于n,导致后续比较错误。
  • 边界处理缺失:未检查数组越界(如i >= T.ElemNum)。

尽管核心思路正确,但代码实现存在严重逻辑缺陷,无法正确运行。根据错误严重程度,扣5分,得4分。

题目总分:4+4=8分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发