清帮忙讨论一下这个算法,谢谢

rdqjuven 2003-01-05 05:30:28
请问以下算法是否有错误,谢谢

用递归方法判断一棵二叉树是否为二叉排序树

BOOL Judge(BiTree T)
{
static ElemType preNode=MIN; //preNode记录上次中序遍历的节点,初始化为最小值
//如果中序遍历得到的序列中,一旦当前节点比上一个节点小,
//则判定不是排序树,否则,通过res返回真
//res一旦置假,就不能再变为真
static BOOL res=TRUE;

//递归实现中序遍历
if(!T||res==FALSE) return 1;
else
{
Judge(T->leftchild); //调用左子树
if(pre>T->data) //如果当前节点比上次访问的小
res=FALSE; //置res假
pre=T->data; //pre记录上次访问节点的值
Judge(T->rightchild); //调用右子树
}
return res; //返回最终结果
}
...全文
25 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,948

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧