文章
316
粉丝
0
获赞
0
访问
46.4k
1):我们利用递归的思想判断当前节点的左孩子的结点值是否小于当前节点,右孩子的值是否大于当前结点如果是,那就递归处理左右孩子结点,如果不是则return false,直到所有结点都正确就返回true
2): bool is_SearchTree(SqBiTree&root,int i){
if(root->SqBiTNode[i]==-1)return true;//判断是否是空结点即结点值为-1的点
bool leftflag=is_SearchTree(SqBiTree&root,int 2*i+1);//判断左子树是否满足搜索树
bool rightflag=is_SearchTree(SqBiTree&root,int 2*i+2);//判断右子树是否满足搜索树
if((root->SqBiTNode[2*i+1]<=root->SqBiTNode[i] || root->SqBiTNode[2*i+1]==-1)&&(root->SqBiTNode[2*i+2]>=root->SqBiTNode[i] ||
root->SqBiTNode[2*i+2]==-1) return true;//如...
登录后发布评论
暂无评论,来抢沙发