文章

113

粉丝

0

获赞

6

访问

55.2k

头像
2022年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年10月16日 23:05
阅读数 462


评分及理由

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

学生答案的设计思想正确,指出通过中序遍历二叉树并检查遍历序列是否严格递增来判断是否为二叉搜索树,这与标准答案中的方法二一致。同时,学生也正确考虑了结点不存在(值为-1或下标越界)的情况。因此,设计思想部分得4分。

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

学生代码实现存在以下逻辑错误:

  • IsSearch_SqBiTNode函数中,for循环的条件判断逻辑错误:当A[i-1] < A[i]时,本应继续检查后续元素,但学生代码中使用了break并直接return false,这会导致即使序列递增也会提前返回false。正确做法应是在发现A[i-1] >= A[i]时返回false,否则继续循环。
  • 全局数组A和变量a未在函数内初始化,多次调用会导致数据污染。
  • 中序遍历函数middle-order未处理下标越界(n >= T.ElemNum)的情况,仅检查了T[n] == -1,可能访问非法内存。
  • 函数命名存在语法错误(如middle-order中的连字符),但根据上下文判断为识别误写,不扣分。

由于核心逻辑(中序遍历及递增检查)正确,但实现存在多处错误,扣分如下:

  • 循环逻辑错误导致功能严重缺陷,扣3分。
  • 未初始化全局变量,扣1分。
  • 未处理下标越界,扣1分。
  • 代码结构不完整(如未包含头文件、未定义常量等),但属次要问题,扣1分。

本部分得分:9 - 3 - 1 - 1 - 1 = 3分。

题目总分:4+3=7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发