文章
290
粉丝
0
获赞
0
访问
56.0k

评分及理由
(1)得分及理由(满分4分)
学生给出了基本设计思想:通过中序遍历得到序列,判断是否单调递增。思路正确且与标准答案方法二一致。因此得4分。
(2)得分及理由(满分9分)
学生给出了基于中序遍历的算法实现,但存在以下逻辑错误:
order函数中,递归调用时未传递参数T(应为order(T, 2*k+1)等,但学生代码中写为order(T, 2*k+1),识别结果中参数传递不一致,第一次识别缺少T,第二次识别正确,按正确不扣分)。A和j的使用导致函数不可重入,且function中for循环的边界和比较逻辑有误:for(int i = 0; i < j; i++)中当i=0时,A[i-1]越界访问;且比较应为A[i] >= A[i+1]或类似形式来判断单调递增。此处属于逻辑错误,扣3分。orderT.SqBiTNode[k] != -1 && k < n,判断正确,不扣分。综上,算法描述部分因逻辑错误扣3分,得6分。
题目总分:4+6=10分
登录后发布评论
暂无评论,来抢沙发