文章
30
粉丝
0
获赞
0
访问
9.8k
(1)采用递归的思想,获取当前结点值,左孩子值,右孩子值,判断左孩子不等于-1时进入下一层判断,等于-1的话就什么也不做,如果左孩子小于当前结点值或者等于当前结点值就进入下一趟递归,否则就返回false,递归途中如果有一层返回false则中断递归,倘若递归到最后就返回true
(2)
Bool IsSearch_tree(SqBiTree B,int n){//n初始传入0
if((B.ElemNum==0)||(B.ElemNum==1)){return true;}
root = B.SqBiTNode[n];
lchild = B.SqBiTNode[2n+1];
rchild = B.SqBiTNode[2n+2];
if(lchild!=-1){
if((lchild<root)||(lchild==root)){
if(!IsSearch_tree(B,2n+1)){return false;}}
}
else{
return false;
}
}
if(rchild!=-1){
if((rchild>root)||(rchild==root)){
if(!IsSearch_tree(B,2n+2)){return false;}}
}
else{
return false;
}
}
return true;
}
评分及理由
(1)得分及理由(满分4分)
得分:2分
理由:学生基本理解了递归判断二叉搜索树的思路,能够通过比较当前节点与左右子节点的...
登录后发布评论
暂无评论,来抢沙发