文章
187
粉丝
0
获赞
3
访问
37.5k


评分及理由
(1)得分及理由(满分4分)
得分:3分
理由:学生给出了“中序遍历,检查序列是否升序”的基本设计思想,这符合二叉搜索树的判定方法,思路正确。但描述中“每次当遍历到结点本身时,将结点入队”略显冗余,且未明确说明如何处理空结点(-1)和数组边界,思想表述不够完整清晰。因此扣1分。
(2)得分及理由(满分9分)
得分:4分
理由:学生尝试用代码实现中序遍历,并利用队列(或数组)存储序列进行比较,整体方向正确。但代码存在多处严重逻辑错误和语法问题:
1. 函数 BianLi 中递归条件 n <= T.ElemNum 应为索引有效性判断,但数组下标计算 (n+1)*2-1 和 (n+1)*2 有误(应为 2*n+1 和 2*n+2),且未处理 SqBiTNode[n] == -1 的空结点情况。
2. Squnen 和 Pop 函数未实现,队列 Q 和数组 S 未正确定义。
3. IfSearch 函数中,比较部分 if (S[i] < S[i + 1]) return false; 逻辑反了(应为判断是否非升序),且循环和返回逻辑不完整,最后返回 ture(拼写错误)。
4. 整体代码结构混乱,关键函数缺失,无法正确运行。鉴于核心思路正确但实现存在重大缺陷,扣5分。
题目总分:3+4=7分
题目总分:3+4=7分
登录后发布评论
暂无评论,来抢沙发