文章
166
粉丝
0
获赞
0
访问
9.9k
(1)对于一个节点i若其有左孩子则保存在SqBiTNode[2i+1]中,若其有右孩子则保存在SqBiTNode[2i+2]中 ,设置一个初值min,中序遍历这颗树,若当前值小于min则返回false,若当前值大于min则把当前值赋值给min,看这颗树的中序遍历序列是否升序序列
(2)
#define min INT_MIN
int i = 0;
bool inorderBST(SqBiTree bt,琲nt i ,int *min){
if(i<bt.ElemNum && SqBiTree[i] != -1){//中序遍历二叉树 判断是否是升序序列
if(!inorderBST(bt,2*i+1,min)) return false;
if(bt.SqBiTNode[i] <= min) return false;
min = bt.SqBiTNode[i];
if(!inorderBST(bt,2*i+2,int min)) return false;
}
return true;
}
评分及理由
(1)得分及理由(满分4分)
得分:4分
理由:学生正确描述了中序遍历的方法来判断二叉搜索树的性质,思路与标准答案一致,且表述清晰。
(2)得分及理由(满分9分)
得分:6分
理由:学生的代码基本实现了中序遍历的思路,但存在以下问题:
题目总分:4+6=10分
登录后发布评论
暂无评论,来抢沙发