文章
113
粉丝
0
获赞
6
访问
55.2k

评分及理由
(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中的连字符),但根据上下文判断为识别误写,不扣分。由于核心逻辑(中序遍历及递增检查)正确,但实现存在多处错误,扣分如下:
本部分得分:9 - 3 - 1 - 1 - 1 = 3分。
题目总分:4+3=7分
登录后发布评论
暂无评论,来抢沙发