回 帖 发 新 帖 刷新版面

主题:二叉树递归查找数据元素

BiTree   Search(BiTree  *bt,elemtype  x)
{
     BiTree   p;
     p=bt;

     if(p->data==x)   return  p;
     if(p->Lchild!=null)
       return(Search(p->Lchild,x));......//这句
书上说在 p->Lchild为根结点指针的二叉树可查找数据
元素。      可是要是找不到,就一直return  null;不会
执行下句的右子树里查找了?如果找的元素在右子树,
那就找不到了,到底是不是这样??

     if(p->Rchild!=null)) 
       return(Search(p->Rchild,x));
     return   null;
}
这个算法到底能不能找出要找的元素,假如要找的数据元素在某个节点的右孩子节点上???

回复列表 (共1个回复)

沙发

怎么登陆不了论坛啊!

我来回复

您尚未登录,请登录后再回复。点此登录或注册