文章
7
粉丝
0
获赞
0
访问
64
1)二叉搜索树的特点:中序遍历的结果是升序的,因此判断的方式是先对非空二叉树进行中序遍历,遍历的过程中用一个中间变量保存上一个结点的值,然后遍历到当前节点是和上一个结点比较,若更小则退出遍历说明不符合,更大则将当前结点的值赋给中间变量,然后继续往下遍历直到遍历完成都没有不符合的情况,说明是二叉搜索树
bool isSearch(SqBiTree * T){
// 中序遍历
bool result = MidRoot(T,0,0);
}
void MidRoot(SqBiTree *T,int i,int preValue){
if(T.SqBiTNode[i]!=-1&&i<T.ElemNum){
MidRoot(T,2i+1,preValue,result);
// 记录当前的值,和上一个的值进行比较
int curValue = T.SqBiTNode[i];
if( curValue < preValue){
return false;
}else{
preValue = curValue;
}
MidRoot(T,2i+2,preValue,result);
}
return true;
}
评分及理由
(1)得分及理由(满分4分)
得分:4分
理由:学生准确描述了二叉搜索树的中序遍历性质,并提出了使用中序遍历过程中比较前驱节点值的方法来判断是否为二叉搜索树。基本设计思想正确,与标准答案中的方法二思路一致。
(2)得分及理由(满分9分)
得分:5分
理由:
登录后发布评论
暂无评论,来抢沙发